1.Map request=(Map)ActionContext.getContext().get("request");
Map request=(Map)ActionContext.getContext().get("request");
我也正好在看这个,源码把我刚理解的源码给你说下吧,不一定对。源码
Map request=(Map)ActionContext.getContext().get("request");
Map request // 声明一个名字为request的源码Map对象(这个名字不是request也可以)
然后对request进行实例化,但是源码博圆网络源码因为 ActionContext.getContext().get("request");不是Map类型的
所以前面需要加“(Map)”进行强制转换。
“ActionContext”是源码ethereumj 源码解读“xwork-core-2.2.3.jar”(反正就是Xwork了 也许咱们的版本不一样,有兴趣的源码话你可以去了解一下Xwork)下面的“com.opensymphony.xwork2.ActionContext;”包,
后面的源码.getContext().get("request");就都是ActionContext里面的方法(函数)了。
注意的源码是,“get("request");”括号里面的源码request不能变,这个request不是源码你前面声明的request对象,具体了解可以去上面说的源码包下面看源码,
本来想给你大概说下ActionContext的源码hello jave源码,但是源码我这代码关联不上,你自己去看吧。源码
据体用法的话,既然已经有request这个对象了,mcu app源码比如你可以在JSP页面中加
<%= request.getAttribute("list") %>看看效果。
或者假如你要希望数据库写数据,要用到”list“那么可以调用这个action中的这个reuest,
例如 Map m = action.request;
最后,策略模式 源码就像J2SE中的Main()方法一样,这都是固定的,记住就可以了。至于用法那就多种多样,光说具体用法那就说死了,但事实是很灵活的东西,看需求吧。
两年后再补充一点吧,ActionContext对象里面封装了Action用到的一些数据。另外struts2把我们的request对象做了一些修改,重新封装成它自己需要的并放在了ActionContext对象中。