Struts1.x系列教程(19):LookupDispatchAction类处理一个form[Java编程]
本文“Struts1.x系列教程(19):LookupDispatchAction类处理一个form[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
有时在HTML form中需求供应多个提交按钮,这时LookupDispatchAction类就派上用场了.LookupDispatchAction是DispatchAction的子类,用于处理客户端代码中有一个Form含有多个提交按钮的情形.为了利用LookupDispatchAction,首先来编写客户端代码,代码以下:
<html:form action="myaction">
……
<html:submit property="action">
<bean:message key="submit.print" />
</html:submit>
<html:submit property="action">
<bean:message key="submit.save" />
</html:submit>
</html:form>
此中submit.print和submit.save是属性文件中的key.action实际上是提交按钮的name属性值.在提交时,会将property和<bean:message key="..." />作为恳求参数和参数值传给Struts行动.如save按钮被单击时,恳求URL为http://localhost:8080/.../myaction.do?action=save.此中save为submit.save在属性文件中对应的属性值,也就是说submit.save = save.
接下来我们编写一个LookupDispatchAction的子类,代码以下:
package action;
import org.apache.struts.actions.LookupDispatchAction;
……
public class MyLookupDispatchAction extends LookupDispatchAction
{
// 为了便利描写,在这里未利用属性文件,只是直接将key和value的映射增添到Map对象中
// 读者可以在getKeyMethodMap办法中从属性文件中读取呼应的key-value对
// 来增添到Map对象中
protected Map getKeyMethodMap()
{
Map m = new HashMap();
m.put("submit.print", "print");
m.put("submit.save", "save");
return m;
}
public ActionForward print (ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
// 处理print代码
}
public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
// 处理save代码
}
}
在编写LookupDispatchAction的子类时要注意必须实现getKeyMethodMap办法,在这个办法中需求举行key和Action办法的映射.下面的代码用来配置MyLookupDispatchAction.
<action path="/moresubmit" type="action.MyLookupDispatchAction" parameter="action" />
此中parameter属性指定了恳求URL中由提交按钮生成的恳求参数名.
以上是“Struts1.x系列教程(19):LookupDispatchAction类处理一个form[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |