Struts2 action中一个方法返回多个页面
2016-07-03 15:39
645 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">很多时候,一个页面或不同页面中有多个form表单需要提交到action中的同一个方法中,这时,可在form表单提交的action后加参数。具体做法如下</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">方便起见,在同一个页面建两个form 标签,提交到同一action中相同的方法中。在提交的action后加上参数"flag"分别为1和2。</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="html"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> </head> <body> <!--flag参数值为1 --> <form action="Test_test.action?flag=1" method="post"> <input type="submit" value="这是第一个action"/> </form> <br> <br> <!--flag参数值为2 --> <form action="Test_test.action?flag=2" method="post"> <input type="submit" value="这是第二个action"/> </form> </body> </html>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);">接着创建一个Action</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"></span></span><pre name="code" class="java">package action; import javax.servlet.http.HttpServletRequest; import org 4000 .apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class TestAction extends ActionSupport{ //获得HttpServletRequest对象 private HttpServletRequest request=ServletActionContext.getRequest(); public String test() { //判断参数值 if (request.getParameter("flag").equals("1")) { return "flag1"; } else{ return "flag2"; } } }
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);">配置struts.xml</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"></span></span><pre name="code" class="html"><?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="test" namespace="/" extends="struts-default"> <action name="*_*" class="action.{1}Action" method="{2}"> <!--根据不同的返回值跳转到对应的jsp页面 --> <result name="flag1">/flag1.jsp</result> <result name="flag2">/flag2.jsp</result> </action> </package> </struts>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);">根据struts.xml中配置再创建两个简单的JSP页面,还有web.xml中struts框架的配置这里就不在赘述,直接给出页面效果</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"><img src="https://img-blog.csdn.net/20160703154924261?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> </span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"><img src="https://img-blog.csdn.net/20160703154938901?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> </span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);">这里可以看到浏览器地址栏中action后面参数flag的值</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"><img src="https://img-blog.csdn.net/20160703155052420?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /> </span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"> </span></span>
相关文章推荐
- ActionScript 3.0 编程体验
- 再谈Jquery Ajax方法传递到action(补充)
- 详解Webwork中Action 调用的方法
- ASP.NET MVC:Filter和Action的执行介绍
- 解读ASP.NET 5 & MVC6系列教程(10):Controller与Action
- jQuery中设置form表单中action值的实现方法
- NopCommerce架构分析之(五)Model绑定Action参数
- jQuery改变form表单的action,并进行提交的实现代码
- 使用jquery提交form表单并自定义action的实现代码
- Ajax in action 英文版配书源码 下载
- struts2 jquery 打造无限层次的树
- 使用struts2+Ajax+jquery验证用户名是否已被注册
- struts2入门Demo示例
- 通过Ajax两种方式讲解Struts2接收数组表单的方法
- ajax使用不同namespace的action的方法
- js实现接收表单的值并将值拼在表单action后面的方法
- SSH框架网上商城项目第7战之整合Struts2和Json
- Struts2+Hibernate实现数据分页的方法
- ajax交互Struts2的action(客户端/服务器端)
- servlet和action的线程安全问题