java的actioncontext_【疑惑】ActionContext ac = ActionContext.getContext();?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
ActionContext.getContext()返回的是一个ActionContext对象,get(String key)也是ActionContext里面的一个方法。
xwork源码贴出来了:
public class ActionContext implements Serializable {
static ThreadLocal actionContext = new ThreadLocal();
//public static final String DEV_MODE = "__devMode";
public static final String ACTION_NAME = "com.opensymphony.xwork2.ActionContext.name";
public static final String VALUE_STACK = ValueStack.VALUE_STACK;
public static final String SESSION = "com.opensymphony.xwork2.ActionContext.session";
public static final String APPLICATION = "com.opensymphony.xwork2.ActionContext.application";
public static final String PARAMETERS = "com.opensymphony.xwork2.ActionContext.parameters";
public static final String LOCALE = "com.opensymphony.xwork2.ActionContext.locale";
public static final String TYPE_CONVERTER = "com.opensymphony.xwork2.ActionContext.typeConverter";
public static final String ACTION_INVOCATION = "com.opensymphony.xwork2.ActionContext.actionInvocation";
public static final String CONVERSION_ERRORS = "com.opensymphony.xwork2.ActionContext.conversionErrors";
public static final String CONTAINER = "com.opensymphony.xwork2.ActionContext.container";
Map context;
public ActionContext(Map context) {
this.context = context;
}
public void setActionInvocation(ActionInvocation actionInvocation) {
put(ACTION_INVOCATION, actionInvocation);
}
public ActionInvocation getActionInvocation() {
return (ActionInvocation) get(ACTION_INVOCATION);
}
public void setApplication(Map application) {
put(APPLICATION, application);
}
public Map getApplication() {
return (Map) get(APPLICATION);
}
public static void setContext(ActionContext context) {
actionContext.set(context);
}
public static ActionContext getContext() {
return (ActionContext) actionContext.get();
// Don't do lazy context creation, as it requires container; the creation of which may
// precede the context creation
//if (context == null) {
// ValueStack vs = ValueStackFactory.getFactory().createValueStack();
// context = new ActionContext(vs.getContext());
// setContext(context);
//}
}
public void setContextMap(Map contextMap) {
getContext().context = contextMap;
}
public Map getContextMap() {
return context;
}
public void setConversionErrors(Map conversionErrors) {
put(CONVERSION_ERRORS, conversionErrors);
}
public Map getConversionErrors() {
Map errors = (Map) get(CONVERSION_ERRORS);
if (errors == null) {
errors = new HashMap();
setConversionErrors(errors);
}
return errors;
}
public void setLocale(Locale locale) {
put(LOCALE, locale);
}
public Locale getLocale() {
Locale locale = (Locale) get(LOCALE);
if (locale == null) {
locale = Locale.getDefault();
setLocale(locale);
}
return locale;
}
public void setName(String name) {
put(ACTION_NAME, name);
}
public String getName() {
return (String) get(ACTION_NAME);
}
public void setParameters(Map parameters) {
put(PARAMETERS, parameters);
}
public Map getParameters() {
return (Map) get(PARAMETERS);
}
public void setSession(Map session) {
put(SESSION, session);
}
public Map getSession() {
return (Map) get(SESSION);
}
public void setValueStack(ValueStack stack) {
put(VALUE_STACK, stack);
}
public ValueStack getValueStack() {
return (ValueStack) get(VALUE_STACK);
}
public void setContainer(Container cont) {
put(CONTAINER, cont);
}
public Container getContainer() {
return (Container) get(CONTAINER);
}
public T getInstance(Class type) {
Container cont = getContainer();
if (cont != null) {
return cont.getInstance(type);
} else {
throw new XWorkException("Cannot find an initialized container for this request.");
}
}
public Object get(String key) {
return context.get(key);
}
public void put(String key, Object value) {
context.put(key, value);
}
}
java的actioncontext_【疑惑】ActionContext ac = ActionContext.getContext();?相关推荐
- java actioncontext_关于struts2中ActionContext的实现原理
北京,雾霾天气阻止了今天的马拉松之行,蜗居一天.为一个问题"struts2如何保证ActionContext每次取的都是本次请求所对应的实例?",给一个网友解释了半天. 首先,我们 ...
- 初学java小白的疑惑梳理
写个每个要踏入学习Java大门的同学,解答一些纯小白学习Java之前的疑惑,同时,能有一个基本的了解和认识. 1.计算机语言的发展过程 第一代计算机语言:机器语言: 第二代计算机语言:汇编语言: 第三 ...
- 头歌 Java实训答案 全ac代码 请善用目录功能
Java初体验 第一关 public class HelloWorld{ /********* Begin *********/ public static void main(String[] ar ...
- 顺丰科技高级java面试_顺丰科技-Java笔试编程题-均ac
import java.util.*; public class Main { private static int n; //人数 private static int m; //语言数 p ...
- java window 路径_关于windows的绝对路径在java中的疑惑~求解
Runtimesh=Runtime.getRuntime();Stringfilepath="\"D:/ProgramFiles/Tencent/QQ/QQProtect/Bin/ ...
- java actioncontext_Action访问ActionContext | 学步园
在Struts2.0中,Action已经与Servlet API完全分离,这使得Struts2.0的Action具有了更加灵活和低耦合的特性,与Struts1.0相比较而言是个巨大的进步.虽然Stru ...
- 域对象的引用,ActionContext 和ServletActionContext类的使用
ActionContext 获取 域引用的map ServletActionContext获取具体域对象 //域范围 ActionContext ac = ActionContext.getConte ...
- ActionContext保存客户提交的参数,session会话等
ActionContext 的使用方法 public String execute() throws Exception { if(getUserName().equals(& ...
- ActionContext的简单使用
ActionContext的简单使用 获得ActionContext ac=ActionContext.getContext(); 在ActionContext类中,有一些常用方法: (1)Map g ...
最新文章
- Mac Vim 如何设置高亮
- shiro登陆流程源码详解
- el-amap 第一次正常第二次报错_flutter run: build tools revision 报错解决
- python表格对齐_python str.format 中文对齐的细节问题,
- 剑指Offer - 面试题40. 最小的k个数(排序/大顶堆)
- linux5.5 里dns,RedHat 5.5搭建各种DNS服务器(3)
- Linux 2.6.39.1 Hello world 驱动总结
- hive(3)HiveQL数据定义
- BootLoader学习笔记(1)
- java初中级程序员面试宝典-蚂蚁课堂
- visio2016下载以及永久激活
- npm安装项目所有依赖包
- 三菱FX3UFX2NFX1N PLC 模拟器模拟通信功能,模拟PLC实体,FX3U仿真器,仿真PLC服务器
- tf.maximum
- 丘成桐谈几何:从黎曼、爱因斯坦到弦论
- 首阴战法胜率不高?应该是忘记加上一个大前提!
- 计算机组装评分标准,计算机组装与配置技能竞赛评分标准表.doc
- 提升linux对ntfs分区的写入性能
- 针对MacBook提示目前翻译不可用请稍后再试的解决方法
- ei指什么_SCI、EI分别是什么意思
热门文章
- 关于java代码中的注释问题。(类中方法的注释,我们一般都要写上这个方法的文档(doc),方法的参数也要有它的文档)
- 【PL/SQL】PL/SQL语言基础
- 升级xcode7.0 第三方库不能用的解决方法(bitcode是什么鬼?)
- 常见的运行时异常与编译时异常举例
- nginx部署vue前端,刷新出现404或者500错误的解决方案
- 使用spring session+redis技术,解决负载均衡下的session共享问题
- 异常概念和处理机制,try-catch-finally,throw和throws,自定义异常
- 异常查错java.net.SocketException: Connection reset
- Chrome浏览器showModalDialog兼容性及解决方案
- python异常(概念、捕获、传递、抛出)