关于chain,redirect和redirectAction
自己在实践的时候发现了一些问题,比如:需要将表单中的数据封装在User中,提交给firstAction处理,再将处理后的user传递给secondAction作处理。
表单如下:
<s:form action="firstAction"> <s:textfield name="user.name" label="name" /> <s:password name="user.password" label="password" /> <s:submit /></s:form>
package st.action;import com.opensymphony.xwork2.Action;import st.bean.User;public class UserAction {private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}public String firstAction() {user.setName(user.getName() + "_FIRST");user.setPassword(user.getPassword() + "_FIRST");System.out.println(user.getName() + "," + user.getPassword());System.out.println(this + "," + user);return Action.SUCCESS;}public String secondAction() {user.setName(user.getName() + "_SECOND");user.setPassword(user.getPassword() + "_SECOND");System.out.println(user.getName() + "," + user.getPassword());System.out.println(this + "," + user);return Action.SUCCESS;}}<action name="firstAction" method="firstAction"> <result name="success" type="redirectAction"> <param name="actionName">secondAction</param> <param name="user.name">${user.name}</param> <param name="user.password">${user.password}</param> </result></action><action name="secondAction" method="secondAction"> <result>result.jsp</result></action><action name="firstAction" method="firstAction"> <result name="success" type="chain">secondAction</result></action><action name="secondAction" method="secondAction"> <result>result.jsp</result></action>