Struts2(六)result 返回型別講解

u013457570發表於2016-12-25

一、result 常見的返回型別中有四種

1、dispatcher:預設,預設是轉發

2、redirect:重定向

3、chain:返回結果之後轉發

4、redirectAction:返回結果之後重定向


1、hello.jsp 檔案

 (4) <h2>result_type 結果型別返回</h2>
   1、<a href="<%=path %>/result_r1">dispatcher</a>   
   2、<a href="<%=path %>/result_r2">redirect</a>   
   3、<a href="<%=path %>/result_r3">chain</a>   
   4、<a href="<%=path %>/result_r4">redirectAction</a><br/><br/>

2、struts 配置檔案

<?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>
   <!-- <include file="login.xml"/> -->
   <!--  <constant name="struts.enable.DynamicMethodInvocation" value="false" /> -->
   <!-- 設定為開發者模式  修改之後不需要重啟伺服器 -->
    <constant name="struts.devMode" value="false" />
    <package name="default" namespace="/" extends="struts-default">
    <!-- result返回型別 -->
    <action name="result_r1" class="com.flx.actions.ResultTypeAction" method="r1">
         <result name="r1" type="dispatcher">/jsp/result_r1.jsp</result>
    </action>
    <action name="result_r2" class="com.flx.actions.ResultTypeAction" method="r2">
         <result name="r2" type="redirect">/jsp/result_r2.jsp</result>
    </action>
    <action name="result_r3" class="com.flx.actions.ResultTypeAction" method="r3">
    	<result name="r3" type="chain">result_r1</result>
    </action>
    <action name="result_r4" class="com.flx.actions.ResultTypeAction" method="r4">
    	<result name="r4" type="redirectAction">result_r2</result>
    </action>

    </package>
</struts>


3、Action 處理類

package com.flx.actions;

import com.opensymphony.xwork2.ActionSupport;

/**
 * 
 * @author FuLX
 *
 * @2016-12-25下午8:36:18
 *
 * 功能:result 返回型別
 */
public class ResultTypeAction extends ActionSupport {
	private static final String FINAL_FLX_R1 = "r1";
	private static final String FINAL_FLX_R2 = "r2";
	private static final String FINAL_FLX_R3 = "r3";
	private static final String FINAL_FLX_R4 = "r4";

	public String r1() {
		return FINAL_FLX_R1;
	}

	public String r2() {
		return FINAL_FLX_R2;
	}
	public String r3() {
		return FINAL_FLX_R3;
	}
	public String r4() {
		return FINAL_FLX_R4;
	}
}


4、結果說明

1、點選dispatcher



2、點選redirect



3、點選chain



4、點選redirectAction


相關文章