Struts2 action中一个方法返回多个页面

原创 2016年07月03日 15:39:10

<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.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="http://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="http://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="http://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>

Struts2如何传值到jsp页面

不是action传值到jsp页面,而是jsp页面获取action中的属性值,或者范围(如request,session,application等)里的值。所以,有两种方法1,获取的是action属性的...
  • hewei0241
  • hewei0241
  • 2014年05月28日 13:43
  • 30797

利用Struts2框架,将后台数据转化为JSON数据并返回到前台

1、第一步,配置web.xml,配置代码如下
  • BluewineY
  • BluewineY
  • 2016年09月22日 07:57
  • 8889

Struts2框架学习之三:result返回结果

前言Struts 2中的Result是作为返回结果的,时当一个action处理完之后返回字符串的结果码。框架可以根据这个返回的字符串,映射到指定的页面。result元素可以分为两部分:一是结果映射,一...
  • u011116672
  • u011116672
  • 2015年12月10日 22:58
  • 3710

struts2注解@Result的几个跳转方式说明

最近做一个项目,Struts2+Spring+Hibernate这三个开源框架下的,基本上抛弃了传统的XML配置方式,采用了注解(annotation),的确注解减轻了程序员很多工作量,注入也变得简单...
  • dxy_fly
  • dxy_fly
  • 2015年06月12日 18:46
  • 3145

struts2——action返回参数的方法总结

一·get方式 对比action接受参数的set方法,其实就是一个道理,这也是struts2的工作机制,当页面传递参数到action,struts2会自动调用set方法为属性设值;当action返回...
  • u012788601
  • u012788601
  • 2017年01月07日 19:46
  • 1392

struts2的方式返回json到jsp页面 List,Map,Object,对象各种操作都有....MyEclipse的,导入直接看效果。

  • 2014年08月04日 23:27
  • 3.77MB
  • 下载

动态结果配置:struts.xml中,<result>属性的type配置之redirectAction(请求重定向到指定的Action)

struts.xml中,属性的type配置之redirectAction(请求重定向到指定的Action)
  • wkj888888
  • wkj888888
  • 2016年08月07日 12:21
  • 2464

Struts2的action的配置文件的result元素的type属性详解。

转自:http://wenku.baidu.com/link?url=FmnvzbMU8P4fgW7sGmqVCTNWnx3AEhgSrGD8-b50k-FireOkSECieAwZlipAD3MCA...
  • suyu_yuan
  • suyu_yuan
  • 2016年09月27日 15:56
  • 2235

Struts2 动态结果集

动态结果集
  • hoho_12
  • hoho_12
  • 2016年02月24日 14:51
  • 1566

Struts2从一个action转到另一个action的两种方法

在Struts2中,Action处理完用户请求后,将会返回一个字符串对象,这个字符串对象就是一个逻辑视图名。Struts 2通过配置逻辑视图名和物理视图之间的映射关系,一旦系统收到Action返回的某...
  • chenssy
  • chenssy
  • 2012年09月09日 16:42
  • 51807
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts2 action中一个方法返回多个页面
举报原因:
原因补充:

(最多只允许输入30个字)