structs2 中提供了ServletActionContext.getRequest()来获得当前请求的对象,但这是个静态的方法,什么参数也没有传入。。
那这个方法是怎么取得的是当前请求的对象,而不是其他请求的对象的呢。。
很费解。。
请指点一下。。谢谢
那这个方法是怎么取得的是当前请求的对象,而不是其他请求的对象的呢。。
很费解。。
请指点一下。。谢谢
解决方案 »
- 请求中的参数问题
- spring与hibernate整合时出现的异常
- jsp连接oracle 10g的问题!!!!
- 像实现一个简单的文件分类系统..
- 写了一个SendMail.java,调用却出了问题,各位帮忙啊!
- 在JTable中如何反显某个字符串
- sqlserver jdbc 的问题!请进来看看!
- JDOM求助: 很普通的一段代码(用XPath定位xml文件节点),在两种应用服务器环境下会运行结果不一样.
- 关于JBOSS的小问题
- <transaction-type>Bean</transaction-type>中间写Bean和写<transaction-type>Container</transaction-type>有什么区别啊?
- Spring注解注入,应用启动异常:BeanCreationException
- 在hibernate中遇到查询的数据与数据库中的数据不同步问题
request.getAttribute("这里写入请求的内容");
ActionContext.getContext().put(HTTP_REQUEST, request);
}
不就只能取到后面put的request了么。。
两个都取到一个request不就乱了么。。
if (context == null) {OgnlValueStack vs = new OgnlValueStack();context = new ActionContext(vs.getContext());setContext(context);}
return context;}一般情况,我们的ActionContext都是通过:ActionContext context = (ActionContext) actionContext.get();来获取的。我们再来看看这里的actionContext对象的创建:static ThreadLocal actionContext = new ActionContextThreadLocal();,ActionContextThreadLocal是实现ThreadLocal的一个内部类。ThreadLocal可以命名为“线程局部变量”,它为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。这样,我们ActionContext里的属性只会在对应的当前请求线程中可见,从而保证它是线程安全的。