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;
}