struts2中关于 <result name="success" type="chain">step2.action</result> 类型为chain的问题 50
proxy=actionProxyFactory.createActionProxy(finalNamespace,finalActionName,finalMethod...
proxy = actionProxyFactory.createActionProxy(finalNamespace,
finalActionName, finalMethodName, extraContext);
proxy.execute();这个到底是怎么回事,谁有详细的解答 展开
finalActionName, finalMethodName, extraContext);
proxy.execute();这个到底是怎么回事,谁有详细的解答 展开
1个回答
展开全部
chain
(1)主要用于把相关的几个action连接起来,共同完成一个功能。
<action name="step1" class="test.Step1Action"> <result name="success" type="chain">step2.action</result> </action> <action name="step2" class="test.Step2Action"> <result name="success">finish.jsp</result> </action>
(2)实现方式:
查看execute()方法,主要思想如下:
// 根据Action名称finalActionName及要调用的方法finalMethodName来new一个代理对象proxy,并执行之
proxy = actionProxyFactory.createActionProxy(finalNamespace,
finalActionName, finalMethodName, extraContext);
proxy.execute();
(3)多个action间数据的传递
主要有两种方式:
1。由于处于chain中的action属于同一个http请求,共享一个ActionContext,故可以在上下文中获取,在页面上可以直接使用。手动获取的方法如下:
HttpServletRequest request = ServletActionContext.getRequest();
String s=(String)request.getAttribute("propName");
2。实现ModelDriven接口
在Step1Action中,加入getModel:
public Object getModel() {
return message;
}
在Step2Action中,加入setModel:
public void setModel(Object o){
System.out.println("message is:"+o);
}
(1)主要用于把相关的几个action连接起来,共同完成一个功能。
<action name="step1" class="test.Step1Action"> <result name="success" type="chain">step2.action</result> </action> <action name="step2" class="test.Step2Action"> <result name="success">finish.jsp</result> </action>
(2)实现方式:
查看execute()方法,主要思想如下:
// 根据Action名称finalActionName及要调用的方法finalMethodName来new一个代理对象proxy,并执行之
proxy = actionProxyFactory.createActionProxy(finalNamespace,
finalActionName, finalMethodName, extraContext);
proxy.execute();
(3)多个action间数据的传递
主要有两种方式:
1。由于处于chain中的action属于同一个http请求,共享一个ActionContext,故可以在上下文中获取,在页面上可以直接使用。手动获取的方法如下:
HttpServletRequest request = ServletActionContext.getRequest();
String s=(String)request.getAttribute("propName");
2。实现ModelDriven接口
在Step1Action中,加入getModel:
public Object getModel() {
return message;
}
在Step2Action中,加入setModel:
public void setModel(Object o){
System.out.println("message is:"+o);
}
追问
这个在网上我也能找到
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询