天天看點

Struts : LookupDispatchAction 的使用

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;

}