1.Map request=(Map)ActionContext.getContext().get("request");
2.Source not found for Response.getWriter()
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”是调用示例源码“xwork-core-2.2.3.jar”(反正就是Xwork了 也许咱们的版本不一样,有兴趣的话你可以去了解一下Xwork)下面的“com.opensymphony.xwork2.ActionContext;”包,
后面的.getContext().get("request");就都是ActionContext里面的方法(函数)了。
注意的是,“get("request");”括号里面的request不能变,这个request不是你前面声明的request对象,具体了解可以去上面说的包下面看源码,
本来想给你大概说下ActionContext的源码怎么销售,但是我这代码关联不上,你自己去看吧。
据体用法的话,既然已经有request这个对象了,javainteger源码解析比如你可以在JSP页面中加
<%= request.getAttribute("list") %>看看效果。
或者假如你要希望数据库写数据,要用到”list“那么可以调用这个action中的这个reuest,
例如 Map m = action.request;
最后,成都源码项目就像J2SE中的Main()方法一样,这都是固定的,记住就可以了。至于用法那就多种多样,光说具体用法那就说死了,但事实是很灵活的东西,看需求吧。
两年后再补充一点吧,ActionContext对象里面封装了Action用到的一些数据。另外struts2把我们的request对象做了一些修改,重新封装成它自己需要的并放在了ActionContext对象中。
Source not found for Response.getWriter()
Response è¿éæ¯HttpResponse ï¼æ²¡ææºç çãå½ç¶ä½ å¯ä»¥æ¾å°æºç ï¼ç¨attach sourceç»å®æå®æºç ãè¿ä¸ªä¸å½±åçï¼åªæå¨ä½ è°è¯æ¶æä¼åºç° .
=======================è¡¥å ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼
ä½ åºè¯¥å°é误信æ¯è¾åºçãè¿éåºè¯¥æ¯ç©ºæéäºï¼ä½ çç®çæ¯åajax.
æresponse.getWriter.print()æ¹æï¼
ServletActionContext.getResponse().print("");
ä½ çresponse æä¸ç¥éæ¯è°æ¥è´è´£èµå¼çã