程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 在Struts2中的結果集類型

在Struts2中的結果集類型

編輯:JAVA編程入門知識

1、每個action方法都返回一個String類型的值,struts一次請求返回什麼值是由這個值確定的。

2、在配置文件中,每一個action元素的配置都必須有result元素,每一個result對應一個action的返回值。

3、Result有兩個屬性:

name:結果的名字,和action中的返回值一樣,默認值為success;

type:響應結果類型,默認值為dispatcher.

下面找到struts-default.xml文件中,如下面所示:

說明:

1、從上述可以看出總共10種類型

2、默認類型為ServletDispatcherResult即轉發。

3、結果類型可以是這10種結果類型的任意一種。

Dispatcher類型(1)、 說明

Dispatcher類型是最常用的結果類型,也是struts框架默認的結果類型。

(2)、 例子

頁面參照:/manager/index.jsp

Action參照:AdminAction

配置文件:struts.xml

在配置文件中,可以有兩種寫法:


下面的圖說明了location的來歷:


查看源碼:

6.2.2 Redirect類型(1)、 說明

Redirect屬於重定向。如果用redirect類型,則在reuqest作用域的值不能傳遞到前台。

redirectAction類型(1)、說明

1、把結果類型重新定向到action

2、可以接受兩種參數

a)     actionName: action的名字

b)     namespace:命名空間

第一種方式:

<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>

第二種方式:

<result name="success" type="redirectAction">

     <!--

          actionName:

               請求的action的路徑

          namespace:

               如果不寫,默認就是請求的action的路徑,如果寫,路徑將被重新賦值

     -->

     <param name="actionName">

          resulttype/redirectactionAction.action

     </param>

</result>

 (2)、 例子

第一種方式:

<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>

第二種方式:

<result name="success"type="redirectAction">

     <!--

          actionName:

               請求的action的路徑

          namespace:

               如果不寫,默認就是請求的action的路徑,如果寫,路徑將被重新賦值

     -->

     <paramname="actionName">

          resulttype/redirectactionAction.action

     </param>

</result>


<package name=”ss” namespace=”/csdn/csdn”>

     <action=”delete”>

</package>

<package name=”test” namespace=”/csdn”>

<action=”delete”>

</package>

<package name=”sss” namespace=””>

 <action=”delete”>

</package>

Action名稱的搜索順序

1、獲得請求路徑的URI,例如url是:http://server/struts2/path1/path2/path3/test.action

2.首先尋找namespace為/path1/path2/path3的package,如果存在這個package,則在這個package中尋找名字為test的action,如果不存在這個package則轉步驟3;

3.尋找namespace為/path1/path2的package,如果存在這個package,則在這個package中尋找名字為test的action,如果不存在這個package,則轉步驟4;

4.尋找namespace為/path1的package,如果存在這個package,則在這個package中尋找名字為test的action,如果仍然不存在這個package,就去默認的namaspace的package下面去找名字為test的action(默認的命名空間為空字符串""),如果還是找不到,頁面提示找不到action。

Action原型struts2

   Prototype 原型   每次請求都會創建一個新的Action對象


Servlet

   

   Singleton 原型   當第一次請求時,創建servlet對象 之後每次都使用該對象即可。

Servlet的生命周期

      創建---init---service---destory


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved