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