1. redirect:action处理完后重定向到一个视图资源(如:jsp页面),请求参数全部丢失,action处理结果也全部丢失。
2. redirect-action:action处理完后重定向到一个action,请求参数全部丢失,action处理结果也全部丢失。
3. chain:action处理完后转发到一个action,请求参数全部丢失,action处理结果不会丢失
从一个action我想跳转到另一个action,并且呢得带上值。说说我的做法吧,首先你得在你的第一个action中这个id必须要有set、get方法。跳转时你的struts.xml:
(方法一):
- <result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}</result>
(方法二):
- <result name="topic" type="redirect-action">
- <param name="actionName">findTopics</param>
- <param name="topicId">${topicId}</param>
- </result>
如果是多个参数的话,继续再加几个<param>就行了,对于(方法一)如果是多个参数的怎么办?
- <result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}&elementId=${elementId}</result>
struts2 中chain、redirect、redirectaction的区别:
http://blog.csdn.net/zhouxi19880701/article/details/5987850
注意:
private String sourceid;
public String getSourceid() {
return sourceid;
}
public void setSourceid(String sourceid) {
this.sourceid = sourceid;
}
public Map<String, Object> getJson() {
return json;
}
这里需要传值的参数getset后,不能在方法里设置类型了
public String addActivity() throws Exception {
logger.info("------------------------>新增活动");
UserInfoVO userInfoVO = (UserInfoVO) session.get("userInfoVO");
if(StringUtils.isBlank(userInfoVO.getUserType())){
return "error";
}
if(activityVO==null){
activityVO=new ActivityVO();
}
//String activityid = CommonUtil.get32Id();//这样参数值传不过去
activityid = CommonUtil.get32Id();
activityVO.setActivityid(activityid);