从一个Action直接跳到另一个Action中,Struts提供了两种结果类型可以实现:chain、redirect。
从Servlet中学到重定向是不能保留参数的,也就是说重定向了,request对象就会无效了。同样redirect就像Servlet中的重定向,它也不能够保留request对象保存的参数。但是chain可以。所以两种的区别就在于chain能够保留request对象,而redirect不可以。
1. struts.xml配置
(1)第一个PictureAction <action name="picture_*" class="pictureAction" method="{1}"> <result name="uploadPetPic" type="chain">pet_getAllPetByUserId</result> </action> (2)第二个petAction <action name="pet_*" class="petAction" method="{1}"> <result name="myPet">/WEB-INF/pages/myPet.jsp</result> </action>
2. action类
(1)第一个PictureAction
public String uploadPetPicture(){
return "uploadPetPic";
}
(2)第二个petAction
public String getAllPetByUserId(){
return "myPet"
}
注:自己遇到这个问题,但是找了好久才知道可以这样实现,所以再写一遍,希望大家能更快搜到。
这是自己学习过程中的记录,方便自己回顾,好记性不如烂笔头。
作者:艺至