- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在很多Web应用中,为了完成不同的工作,一个HTML form标签中可能有两个或多个submit按钮,如下面的代码所示:!--[if !supportLineBreakNewLine]--
html?action=??method=post?input?type=submit?value=保存?/input?type=submit?value=打印?//html
由于在form中的多个提交按钮都向一个action提交,使用Struts2 Action的execute方法就无法判断用户点击了哪一个提交按钮。如果大家使用过Struts1.x就会知道在Struts1.2.9之前的版本需要使用一个LookupDispatchAction动作来处理含有多个submit的form。但使用LookupDispatchAction动作需要访问属性文件,还需要映射,比较麻烦。从Struts1.2.9开始,加入了一个EventDispatchAction动作。这个类可以通过java反射来调用通过request参数指定的动作(实际上只是判断某个请求参数是不存在,如果存在,就调用在action类中和这个参数同名的方法)。使用EventDispatchAction必须将submit的name属性指定不同的值以区分每个submit。而在Struts2中将更容易实现这个功能。
当然,我们也可以模拟EventDispatchAction的方法通过request获得和处理参数信息。但这样比较麻烦。在Struts2中提供了另外一种方法,使得无需要配置可以在同一个action类中执行不同的方法(默认执行的是execute方法)。使用这种方式也需要通过请求参来来指定要执行的动作。请求参数名的格式为
action!method.action
注:由于Struts2只需要参数名,因此,参数值是什么都可以。
下面我就给出一个实例程序来演示如何处理有多个submit的form:
【第1步】实现主页面(more_submit.jsp)
%@?page?language=java?import=java.util.*?pageEncoding=GBK%%@?taglib?prefix=s?uri=/struts-tags?%html??head????titleMy?JSP?hello.jsp?starting?page/title??/head????body????s:form?action=submit.action?????????s:textfield?name=msg?label=输入内容/??????????s:submit?name=save?value=保存?align=left?method=save/????????s:submit?name=print?value=打印?align=left?method=print?/??????????/s:form??/body/html
在more_submit.jsp中有两个submit:保存和打印。其中分别通过method属性指定了要调用的方法:save和print。因此,在Action类中必须要有save和print方法。
【第2步】实现Action类(MoreSubmitAction)
package?action;import?javax.servlet.http.*;import?com.opensymphony.xwork2.ActionSupport;import?erceptor.*;public?class?MoreSubmitAction?extends?ActionSupport?implements?ServletRequestAware{????private?String?msg;????private?javax.servlet.http.HttpServletRequest?request;????//?获得HttpServletRequest对象????public?void?setServletRequest(HttpServletRequest?request)????{????????this.request?=?request;????}????//?处理save?submit按钮的动作????public?String?save()?throws?Exception????{????????request.setAttribute(result,?成功保存[?+?msg?+?]);????????return?save;????}????//?处理print?submit按钮的动作?
您可能关注的文档
- SRX3600_产品配置维护培训.ppt
- SRX高端防火墙简明配置手册-20120823.doc
- SS628-300Cn身份认证终端技术规格说明书.doc
- SSH学习相关知识点.doc
- ssh整合web导出excel案例.doc
- SSM三大框架整合详细教程(Spring SpringMVC MyBatis)(.docx
- STEP_7从入门到精通.pdf
- STL源码剖析高清完整版.pdf
- STL源码剖析完整版.pdf
- Stonesoft入侵防御系统解决方案建议书.pdf
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
文档评论(0)