1、概念

ActionContext是action的上下文,它包括action执行所需要的对象。struts2对每一个action都会创建一个新的ActionContext实例,同Action一样,是线程安全的。ActionContext里面存放的是一些map,是对web资源的一些包装。

2、使用方法

package com.test.action;

import java.util.Map;

import com.opensymphony.xwork2.ActionContext;

public class TestActionContextAction {
public String execute() {
// 1.获取ActionContext对象
ActionContext actionContext = ActionContext.getContext(); // 2.获取application对应的map,并向其中添加一个属性
Map<String, Object> applicationMap = actionContext.getApplication();
applicationMap.put("applicationKey", "applicationValue"); // 3、session
Map<String, Object> sessionMap = actionContext.getSession();
sessionMap.put("sessionKey", "sessionValue"); //4、request
Map<String, Object> requestMap = (Map<String, Object>) actionContext.get("request"); requestMap.put("requestKey", "requestValue"); //5、请求参数,只能读,不能写,写也不出错
Map<String,Object> parameters=actionContext.getParameters();
System.out.println(((String[])parameters.get("name"))[1]); return "success";
}
}

注意:request的获取方法比较特殊;parameters get返回的是一个String[],同一个key可能对应多个value

struts2笔记03-ActionContext的更多相关文章

  1. struts2 笔记03 异常支持、防止页面刷新和后退、方法验证

    Struts2对异常支持(声明式异常.自动的异常处理), 异常处理(运行期异常事务自动回滚) 1. 自定义异常类,继承RuntimeException或Exception实现构造方法. 2. 配置异常 ...

  2. Struts2笔记03——架构(转)

    原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm 架构(很重要!尤其是图!) 从一个比较高的层次来看,St ...

  3. 《30天自制操作系统》笔记(03)——使用Vmware

    <30天自制操作系统>笔记(03)——使用Vmware 进度回顾 在上一篇,实现了用IPL加载OS程序到内存,然后JMP到OS程序这一功能:并且总结出下一步的OS开发结构.但是遇到了真机测 ...

  4. JS自学笔记03

    JS自学笔记03 1.函数练习: 如果函数所需参数为数组,在声明和定义时按照普通变量名书写参数列表,在编写函数体内容时体现其为一个数组即可,再传参时可以直接将具体的数组传进去 即 var max=ge ...

  5. 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试

    机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...

  6. CS229 笔记03

    CS229 笔记03 局部加权线性回归 Non-Parametric Learning Algorithm (非参数学习方法) Number of parameters grows with the ...

  7. OpenCV 学习笔记03 边界框、最小矩形区域和最小闭圆的轮廓

    本节代码使用的opencv-python 4.0.1,numpy 1.15.4 + mkl 使用图片为 Mjolnir_Round_Car_Magnet_300x300.jpg 代码如下: impor ...

  8. OpenCV 学习笔记03 findContours函数

    opencv-python   4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的 ...

  9. Struts2笔记--Action访问Servlet API

    Web应用中通常需要访问的Servlet API就是HttpServletRequest.HttpSession和ServletContext,这三个接口分别代表JSP内置对象中的request.se ...

  10. C++ GUI Qt4学习笔记03

    C++ GUI Qt4学习笔记03   qtc++spreadsheet文档工具resources 本章介绍创建Spreadsheet应用程序的主窗口 1.子类化QMainWindow 通过子类化QM ...

随机推荐

  1. UVA 12545 Bits Equalizer

    题意: 两个等长的字符串p和q,p有‘0’,‘1’,‘?’组成,q由‘0’,‘1’组成.有三种操作:1.将‘?’变成0:2.将‘?’变成‘1’:3.交换同一字符串任意两个位置上的字符.问有p变到q最少 ...

  2. android经典Demo(转载)

    一篇不错的资源博文,转载分享给大家:   1.Android团队提供的示例项目  如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发. ...

  3. Ugly Number,Ugly Number II,Super Ugly Number

    一.Ugly Number Write a program to check whether a given number is an ugly number. Ugly numbers are po ...

  4. PCL点云库增加自定义数据类型

    #include <pcl/filters/passthrough.h> #include <pcl/filters/impl/passthrough.hpp> // the ...

  5. vim命令杂记

    vim 实用命令. . . 命令重复上一次修改动作 >G 增加当前行到文档末尾处的缩进 C 相当于c$,更改当前位置 至 行尾的单词 S 相当于^c , 更改一行 : 重复上次的f命令所查找的字 ...

  6. Android_神奇的android:clipChildren属性

    正文 一.效果图 看到这个图时你可以先想想如果是你,你怎么实现这个效果.马上想到用RelativeLayout?NO,NO,NO,,, 二.实现代码 <?xml version="1. ...

  7. _OBJC_CLASS_$_ errors 错误解决办法

    步骤如下图: 1. 点击 Manage Schemes 2. Shared打对勾即可

  8. Google机器学习教程心得(三) 好的feature

    什么造就好的Feature Google Machine Learning Recipes 3 官方中文博客 http://chinagdg.org/2016/03/machine-learning- ...

  9. linux----suid\sgid

    1.suid和sgid 都是针对二进制程序来说了,bash脚本不在它的作用范围. 2.如果一个二进制文件设置有suid,那么在userA用户执行它时,会以文件所属用户的身份来执行.sgid同理: 3. ...

  10. WampServer下如何实现多域名配置

    原文:WampServer下如何实现多域名配置 之前在学习跨域的时候,我写过一篇叫做WampServer下使用多端口访问的文章,默认的 localhost 采用的是 80 端口,能使用多端口访问的核心 ...