天天看点

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;

}