首页 > 代码库 > struts2_3_配置各种视图转发类型

struts2_3_配置各种视图转发类型

Web.xml文件与1中相同。

1)Action类为:

public class HelloAction {

	private String userName;

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String execute() {
		this.userName = "xiaoli";
		return "success";
	}
}

2)index.jsp文件为:

<body>
	<br>中国
	<br>index.jsp
	<br>
	<%=new Date()%>
</body>

3)MyJsp.jsp文件为:

<body>
	这是一个重定向.
	<br> 
</body>

4)show.jsp文件为:

 <body>
    showTime <br>
  </body>

5)Struts.xml文件为:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="basePackage" namespace="test" 		
  extends="struts-default">
		<!--定义全局视图 -->
		<global-results>
			<result name="success">/show.jsp</result>
		</global-results>
	</package>
	
	<package name="package1" namespace="/test1" 
  extends="basePackage">

		<!-- action中不定义视图时,会使用全局视图 -->
	<action name="view" class="struts.HelloAction" method="execute" />
		
		<!-- action中定义视图时,会使用自己定义的视图 -->
	<action name="hello" class="struts.HelloAction" method="execute">
			<result name="success">/index.jsp</result>
		</action>

		<!-- 在地址栏中显示action中的属性
	<action name="best" class="struts.HelloAction" method="execute"> 
			<result name="success">
  /index.jsp?userName=${userName}</result> 
		</action> 
		-->
		
		<!-- 重定向到某个页面 -->
		<action name="redirect">
			<result type="redirect">/MyJsp.jsp</result>
		</action>

		<!-- 重定向到同一个包中的某个action -->
		<action name="redirectAction1">
			<result type="redirectAction">redirect</result>
		</action>

		<!-- 重定向到不同包中的某个action -->
		<action name="redirectAction2">
			<result type="redirectAction">
				<param name="namespace">/test2</param>
				<param name="actionName">world</param>
			</result>
		</action>

		<!-- 显示jsp页面中的源代码 -->
		<action name="plainText">
			<result type="plainText">
				<!-- 指定跳转到的页面 -->
				<param name="location">/index.jsp</param>
				<!-- 指定读取文件的编码 -->
				<param name="charSet">UTF-8</param>
			</result>
		</action>

	</package>

	<package name="package2" namespace="/test2" extends="basePackage">
	
		<!-- action中定义视图时,会使用自己定义的视图 -->
  <action name="world" class="struts.HelloAction" method="execute">
			<result name="success">/MyJsp.jsp</result>
		</action>
		
		<!-- 不定义视图时,会使用全局视图 -->
	<action name="view2" class="struts.HelloAction" method="execute" />
	</package>
</struts>