struts1.2之MappingDispatchAction的用法

DispatchAction虽然将相同或者类似的功能模块集中到了一个类中了,易于代码维护,也大大减少了配置文件中配置标签的长度,但是他必需要求开发人员在请求中再带上一个参数,这就额外的增加了很多麻烦,维护起来不方便,
MappingDispatchAction不用带上这样的参数,只需要给其一个指定的路径就可以找到该方法
在代码的实现上
MappingDispatchAction和DispatchAction没有什么区别,完全一样的代码,只需继承两个不同的类分别是MappingDispatchAction和DispatchAction
他们同样不能覆盖父类的execute()方法


1jsp 页面

<html:form action="/register">
   password : <html:text property="password"/><html:errors property="password"/><br/>
   username : <html:text property="username"/><html:errors property="username"/><br/>
   <html:submit/><html:cancel/>
  </html:form>

2 Struts-config.xml

<action path="/login" type="com.yourcompany.struts.action.MappingAction" parameter="doLogin" name="userForm"/>
    <action path="/register" type="com.yourcompany.struts.action.MappingAction" parameter="doRegister" name="userForm"/>

doLogin为MappingAction 中的方法

3MappingAction

public class MappingAction extends MappingDispatchAction {

public ActionForward doLogin(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  System.out.println("doLogin");
  // TODO Auto-generated method stub
  return null;
}
public ActionForward doRegister(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  // TODO Auto-generated method stub
  System.out.println("doRegister");
  return null;
}



}

你可能感兴趣的:(xml,struts)