Struts2 一、 视图转发跳转

<struts>
	<constant name="struts.118n.encoding" value="UTF-8"></constant>
	<constant name="struts.action.extension" value="do"></constant>
	<constant name="struts.serve.static.browserCache" value="false"></constant>
	<constant name="struts.devMode" value="false"></constant>
	<constant name="struts.ui.theme" value="simple"></constant>

1、正常跳转

<pre name="code" class="html"><package name="demo" namespace="/demo"  extends="struts-default">
		<action name="action_*" class="cn.actions.DemoAction" method="{1}">
			<result name="hello">/WEB-INF/pages/message.jsp</result>
		</action>
</package>


 
 
public class DemoAction {
	private String message;

	public String toHello() {
		this.message = "hello world!";
		return "hello";
	}

	public String getMessage() {
		return message;
	}

}


访问地址: http://localhost:9000/demo/action_toHello.do

2、默认值跳转


<action name="addUser">
			<result>/WEB-INF/pages/addUser.jsp</result>
</action>

访问地址:http://localhost:9000/demo/addUser.do


3、重定向跳转

<pre name="code" class="html">	<!--  重定向连接 -->
		<action name="redirect">
			<result type="redirect">/addPerson.jsp</result>
		</action>
访问地址:http://localhost:9000/demo/ redirect .do

 

4、带参的重定向跳转

<!--  重定向连接   带参数-->
		<action name="addPeron" class="cn.actions.PersonAction" method="edit">
			<result type="redirect">/addPerson.jsp?username=${username}</result>
		</action>


public class PersonAction {
	private String username;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
	public String edit() throws UnsupportedEncodingException{
		this.username=URLEncoder.encode("汤姆","UTF-8");
		return "success";
	}
}


 <body>
  <h2>用户名:<%= URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8")) %></h2>
  </body>


访问地址:http://localhost:9000/demo/addPeron.do?method=edit


5、重定向Action

<!--  重定向Action -->
		<action name="redirectAction">
			<result type="redirectAction">addPeron</result>
		</action>
<action name="addPeron" class="cn.actions.PersonAction" method="edit">
			<result type="redirect">/addPerson.jsp?username=${username}</result>
		</action>


访问地址:http://localhost:9000/demo/ redirectAction.do


6、重定向其他包的Action

<package name="demo" namespace="/demo"  extends="struts-default">
<!-- 重定向其他包的Action -->
	<action name="redirectOtherAction" >
		<result type="redirectAction">
			<param name="actionName">hello</param>
			<param name="namespace">/other</param>
		</result>
	</action>
</package>

<package name="other" namespace="/other" extends="base">
	<action name="hello">
		<result>/WEB-INF/pages/hello.jsp</result>
	</action>
</package>
访问地址:http://localhost:9000/demo/ redirectOtherAction.do

7、显示源代码(不执行代码)

<!-- 显示源代码Action(UTF-8编码) -->
		<action name="plainText">
			<result type="plainText">
				<param name="location">/index.jsp</param>
				<param name="charSet">UTF-8</param>
			</result>
		</action>

访问地址:http://localhost:9000/demo/ plainText.do


8、包内共享视图

<package name="demo" namespace="/demo"  extends="struts-default">
		<!-- 包内共用视图 -->
		<global-results>
			<result name="message">/WEB-INF/pages/message.jsp</result>
		</global-results>
		<action name="person_*" class="cn.actions.PersonAction" method="{1}">
		</action>
</package>

public class PersonAction {
	
	public String save(){
		return "message";
	}
}

访问地址:http://localhost:9000/demo/ person_save.do


9、包外共享视图

Ohter 包继承了 base包 所以可以共享Base包的共享视图

<package name="base" extends="struts-default">
		<!-- 包内外共享视图 -->
		<global-results>
			<result name="message">/WEB-INF/pages/message.jsp</result>
		</global-results>
	</package>
	<package name="other" namespace="/other" extends="base">
		<action name="person_*" class="cn.actions.PersonAction" method="{1}">
		</action>
	</package>


public class PersonAction {
	
	public String save(){
		return "message";
	}
}

访问地址:http://localhost:9000/other/ person_save.do
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值