关于struts2 的ActionContext.getContext().getParameters() 的一点儿总结
2012-06-30 14:18
435 查看
最近在做东西的时候,action都是从BaseAction中继承而来.
BaseAction:
protected Map<String, Object> request; protected Map<String, Object> session; protected HttpServletRequest httpRequest; protected Map<String, Object> parameters; public static final String AUTHORIZE_ERROR = "authorize_error"; public BaseAction() { ActionContext ac = ActionContext.getContext(); parameters = (Map<String, Object>) ac.getParameters(); logger.debug("action parameters-------> "+parameters); }
碰到这样一个问题,第一个action的拦截器中,调用了action的Map params=action.getParameters()方法,来获得参数列表,然后需要在里面加入新的参数,直接调用params.put方法,
下一个action配置了一个token拦截器,在这个拦截器中获得参数是Map params2=ActionContext.getContext().getParameters();我在之前已经加入了params的put方法加入了token需要的两个参数,但是params2中并不包含这两个参数,这个问题一直纠结了一天时间,最后,试了一下,在第一个action的拦截器中也直接调用ActionContext.getContext().getParameters().put方法将参数加入进去,结果发现,这种方法可行,但是action.getParameters()却得不到第二种方式添加的参数.
改进后又出现了一个新的问题,因为put时候,value值用了"login.token"这种方式,parameterInterceptor将这个表达式解析成了ognl表达式,然后出现空指针异常,因为在上下文环境中并不存在login这个对象.目前没有找到如何不让这个拦截器将这个值解析成ognl表达式,只能将login.token改成下划线的方式,login_token,并不影响使用,我并没有仔细去研究parameterIntercepor这个拦截器的实现.也许可以有哪个参数可以配置.如果哪们知道,望告之,非常感谢.
另外希望有高人可以帮我解答一下这两种得到参数集合的方式有何不同,
欢迎拍砖.
相关文章推荐
- 【转载】关于ActionContext.getContext().getParameters()获值问题
- 关于ActionContext.getContext()取得的值是什么,和struts2如何获取request,session,appliaction作用域
- 关于struts2 json插件的正则表达式写法的一点儿总结
- struts处理.do后缀请求报Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- Struts2中的ActionContext.getContext().getParameters()
- 关于ActionContext.getContext()的用法
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- 关于ActionContext.getContext()的用法心得
- Struts2学习总结(五):ActionContext,DomainModel,ModelDriven
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- 关于struts2中ActionContext的实现原理
- 关于ActionContext.getContext()的用法心得
- 关于ActionContext.getContext()的用法心得 2010-06-25 11:08 25041人阅读 评论(8) 收藏 举报 applicationsessionactionstr
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- 关于ActionContext.getContext()的用法心得
- 关于在Struts2中ActionContext是何时创建的
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结
- 关于ActionContext.getContext()的用法心得
- Struts2中关于"There is no Action mapped for namespace / and action name"的总结