该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

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();?相关推荐

  1. java actioncontext_关于struts2中ActionContext的实现原理

    北京,雾霾天气阻止了今天的马拉松之行,蜗居一天.为一个问题"struts2如何保证ActionContext每次取的都是本次请求所对应的实例?",给一个网友解释了半天. 首先,我们 ...

  2. 初学java小白的疑惑梳理

    写个每个要踏入学习Java大门的同学,解答一些纯小白学习Java之前的疑惑,同时,能有一个基本的了解和认识. 1.计算机语言的发展过程 第一代计算机语言:机器语言: 第二代计算机语言:汇编语言: 第三 ...

  3. 头歌 Java实训答案 全ac代码 请善用目录功能

    Java初体验 第一关 public class HelloWorld{ /********* Begin *********/ public static void main(String[] ar ...

  4. 顺丰科技高级java面试_顺丰科技-Java笔试编程题-均ac

    import java.util.*; public class Main { private static int n;   //人数 private static int m;   //语言数 p ...

  5. java window 路径_关于windows的绝对路径在java中的疑惑~求解

    Runtimesh=Runtime.getRuntime();Stringfilepath="\"D:/ProgramFiles/Tencent/QQ/QQProtect/Bin/ ...

  6. java actioncontext_Action访问ActionContext | 学步园

    在Struts2.0中,Action已经与Servlet API完全分离,这使得Struts2.0的Action具有了更加灵活和低耦合的特性,与Struts1.0相比较而言是个巨大的进步.虽然Stru ...

  7. 域对象的引用,ActionContext 和ServletActionContext类的使用

    ActionContext 获取 域引用的map ServletActionContext获取具体域对象 //域范围 ActionContext ac = ActionContext.getConte ...

  8. ActionContext保存客户提交的参数,session会话等

    ActionContext 的使用方法 public String execute() throws Exception {             if(getUserName().equals(& ...

  9. ActionContext的简单使用

    ActionContext的简单使用 获得ActionContext ac=ActionContext.getContext(); 在ActionContext类中,有一些常用方法: (1)Map g ...

最新文章

  1. Mac Vim 如何设置高亮
  2. shiro登陆流程源码详解
  3. el-amap 第一次正常第二次报错_flutter run: build tools revision 报错解决
  4. python表格对齐_python str.format 中文对齐的细节问题,
  5. 剑指Offer - 面试题40. 最小的k个数(排序/大顶堆)
  6. linux5.5 里dns,RedHat 5.5搭建各种DNS服务器(3)
  7. Linux 2.6.39.1 Hello world 驱动总结
  8. hive(3)HiveQL数据定义
  9. BootLoader学习笔记(1)
  10. java初中级程序员面试宝典-蚂蚁课堂
  11. visio2016下载以及永久激活
  12. npm安装项目所有依赖包
  13. 三菱FX3UFX2NFX1N PLC 模拟器模拟通信功能,模拟PLC实体,FX3U仿真器,仿真PLC服务器
  14. tf.maximum
  15. 丘成桐谈几何:从黎曼、爱因斯坦到弦论
  16. 首阴战法胜率不高?应该是忘记加上一个大前提!
  17. 计算机组装评分标准,计算机组装与配置技能竞赛评分标准表.doc
  18. 提升linux对ntfs分区的写入性能
  19. 针对MacBook提示目前翻译不可用请稍后再试的解决方法
  20. ei指什么_SCI、EI分别是什么意思

热门文章

  1. 关于java代码中的注释问题。(类中方法的注释,我们一般都要写上这个方法的文档(doc),方法的参数也要有它的文档)
  2. 【PL/SQL】PL/SQL语言基础
  3. 升级xcode7.0 第三方库不能用的解决方法(bitcode是什么鬼?)
  4. 常见的运行时异常与编译时异常举例
  5. nginx部署vue前端,刷新出现404或者500错误的解决方案
  6. 使用spring session+redis技术,解决负载均衡下的session共享问题
  7. 异常概念和处理机制,try-catch-finally,throw和throws,自定义异常
  8. 异常查错java.net.SocketException: Connection reset
  9. Chrome浏览器showModalDialog兼容性及解决方案
  10. python异常(概念、捕获、传递、抛出)