●DispathAction(十分常用): 分发命令.减少action数量
通常一个action只能完成一种业务操作,因为只有一个execute方法
利用DispathAction类,可以实现一个action完成一组相关的业务操作
示例:
1.编写一个action,继承DispathAction(注意不是Action).不必覆盖execute方法
编写一组相关的业务方法,方法的参数列表与execute方法一样
public class BookAction extends DispatchAction {
private BookService service=new BookService(); //组合业务对象
public ForwardAction addBook(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
return null;
}
public ForwardAction delBook(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
return null;
}
}
2.struts-config.xml中配置action
当发送book.do?method=addBook的请求时,最终执行BookAction类的addBook方法
注意parameter属性值为请求的方法参数名,发送请求时值必须与action的方法名一致
<action path="/book" type="xiaoxu.action.BookAction" parameter="method" ...>
<forward name="??" path="/??.jsp" /> ...
</action>
我在使用这个时候,因为将太多的方法放到一起了,等到要处理多个表单的时候,就没有办法了,只得分开写action了