MappingDispatchAction是DispatchAction的子类,它提供的功能和DispatchAction功能类似,它也允许多个请求对应一个Action,但它的实现方式更加灵活。
MappingDispatchAction可以配置到多个地址上,比DispatchAction更加直观,并且也可使用不同的formbean,但缺点是使配置文件过于复杂。
- 继承MappingDispatchAction
package com.kexin.web.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;
public class BookAction2 extends MappingDispatchAction {
public ActionForward add(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3)
throws Exception {
System.out.println("add");
return null;
}
public ActionForward update(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3)
throws Exception {
System.out.println("update");
return null;
}
public ActionForward find(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3)
throws Exception {
System.out.println("find");
return null;
}
public ActionForward delete(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3)
throws Exception {
System.out.println("delete");
return null;
}
}
- 配置文件
<action path="/addBook" type="com.kexin.web.action.BookAction2"
parameter="add"></action>
<action path="/deleteBook" type="com.kexin.web.action.BookAction2"
parameter="delete"></action>
<action path="/updateBook" type="com.kexin.web.action.BookAction2"
parameter="update"></action>
<action path="/findBook" type="com.kexin.web.action.BookAction2"
parameter="find"></action>
- 使用连接
<html:link action="/addBook">增加</html:link>
<html:link action="/deleteBook">删除</html:link>
<html:link action="/updateBook">更改</html:link>
<html:link action="/findBook">查找</html:link>