表单中多按钮的提交

在一个表单中,处理多个按钮,在网上看了一些资料,然后测试了一下还是通过了.

1.entry.jsp表单文件内容:

<html:form action="/Province/lookup" method="post">
<html:submit property="method" value="<bean:message key="label.query" />">
</html:submit>
<html:submit property="method" value="<bean:message key="label.back" />">
</html:submit>
</html:form>

两个跳转的页面,one.jsp 和 two.jsp页面.

2.application.properties文件的定义的内容.

label.query=Query
label.back=Back

3.struts-configs.xm配置文件内容.

    <action path="/Province/lookup" parameter="method" type="cn.com.crm.ProvinceLookupDispatch"
      scope="request" name="provinceForm" validate="false" input="/manager.Province.entry">
   <forward name="query" path="manager.Province.one"/>
      <forward name="back" path="manager.Province.two"/>
    </action>

4.由于采用Titles模板和Tiles组件来构建复杂的页面,所以要文件titles-def.xml做这个定义,不然的话,会报错(does not start with a "/" character).

<definition extends="doc.mainLayout" name="manager.Province.two">
    <put name="title" value="Province two" />
    <put name="body" value="/manager/Province/two.jsp" />
</definition>
<definition extends="doc.mainLayout" name="manager.Province.one">
    <put name="title" value="Province one" />
    <put name="body" value="/manager/Province/one.jsp" />
</definition>

5.Action处理类文件.

package cn.com.crm;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.LookupDispatchAction;

public class ProvinceLookupDispatch extends LookupDispatchAction {
protected Map getKeyMethodMap() {
   Map map = new HashMap();
   map.put("label.query", "query");
   map.put("label.back", "back");

   return map;
}
public ActionForward query(ActionMapping mapping,
     ActionForm form,
     HttpServletRequest request,
   HttpServletResponse response)
   throws IOException, ServletException {
  
   return mapping.findForward("query");
}

public ActionForward back(ActionMapping mapping,
   ActionForm form,
   HttpServletRequest request,
   HttpServletResponse response)
   throws IOException, ServletException {
  
   return mapping.findForward("back");
}
}

6.debug跟踪一下,发现,当点击query按钮时,会调用query()方法来调用.

7.具体的用法还要学习一下,只是暂时可能调试,能够出结果.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值