LookupDispatchAction 是 DispatchAction 的子类 , 提供与 DispatchAction 相似的功能 , 主要应用在页面中的表单有多个提交按钮且按钮的名
字 (name) 相同的情况下 ,LookupDispatchAction 能根据按钮 value 值不同调用不同的方法
Struts-config.xml 文件同 DispatchAction, 如下 :
< action
attribute = "editForm"
input = "/edit.jsp"
name = "editForm"
parameter = " editok " <!-- 此值一定要与页面表单的提交按钮 name 相同 -->
path = "/edit"
scope = "request"
type = "com.why.struts.action.EditAction" />
如页面 Edit.jsp
< html:form action = "/edit.do" >
< html:submit property = " editok " >
< bean:message key = " editok.add " /> 调用 addUser 方法
</ html:submit >
< html:submit property = " editok " >
< bean:message key = " editok.del " /> 调用 delUser 方法
</ html:submit >
创建继承 LookupDispatchAction 的子类 , 如 EditAction,LookupDispatchAction 有一个 Map getKeyMethodMap() 的方法 , 子类需实现它 , 如下 :
protected Map getKeyMethodMap()
{
Map map = new HashMap();
map.put( " editok.add " , "addUser" ); //addUser 对应 Action 中的 addUser 方法
map.put( " editok.del " , "delUser" ); addUser 对应 Action 中的 delUser 方法
return map;
}