日期:2014-05-18  浏览次数:20639 次

使用LookupDispatchAction()方法后,在前台界面如何区分是那个按钮起作用呢?
使用LookupDispatchAction()方法来区别一个form中的2个按钮的行为   ,在前台界面如何区分是那个按钮起作用呢?

------解决方案--------------------
不知道楼主想要什么,看我的理解是否正确
对于不同的按纽将在提交表单时带不同的参数,例如添加是add、删除是delete,当点添加时调用下面的javascript函数
function add()
{
document.forms[0].action= "xxx.do?function=Add ";
document.forms[0].submit();
}
在后台(也就是LookupDispatchAction)里面,会根据客户端传过来的参数动态选择调用add()方法,你需要做一些设置
1、在LookupDispatchAction中写个方法
protected Map getKeyMethodMap()
{
HashMap map = new HashMap();
map.put( "button.add ", "add ");
map.put( "button.delete ", "delete ");
return map;
}
2、在struts-config.xml配置文件里面
<action path= "xxx " type= " " parameter= "function "/>
3、在资源文件ApplicationResources.properties中
button.add=Add
button.delete=Delete
------解决方案--------------------
看这样对不对:
页面:::
<html:submit property= "action " value= "增加 ">
<bean:message key= "button.add "/> </html:submit>

<html:submit property= "action " value= "修改 ">
<bean:message key= "button.updata "/> </html:submit>
action里面:::

protected Map getKeyMethodMap()
{
HashMap map = new HashMap();
map.put( "button.add ", "add ");
map.put( "button.update ", "update ");
return map;
}
public ActionForward add(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
//增加时候的代码
}
public ActionForward update(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
//增加时候的代码
}
配置文件 :::

<action path= "... " type= "... " parameter= "action "/>