DispatchAction
使用DispatchAction时,要求表单提交时额外传递一个参数,该参数用于区分到底调用Action中的哪个方法。
1、 在请求时加入额外参数(如表达提交时)
< html:form action = "/user.do?method=login" >
2、 在struts-config.xml的action配置中加入parameter参数
< action
attribute = "userForm"
input = "/login.jsp"
name = "userForm"
parameter = "method"
path = "/user"
scope = "request"
type = "com.gem.struts.action.UserAction" >
< forward name = "succ" path = "/succ.jsp" />
< forward name = "login" path = "/login.jsp" />
</ action >
3、 在相应的type的 UserAction extends dispatchAction中加入相应的方法
public ActionForward login(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form;
if (userForm.getUname().equals( "jack" ))
return mapping.findForward( "succ" );
else {
return mapping.getInputForward();
}}