struts2 學習小記(3)

2021-08-31 14:16:15 字數 2675 閱讀 3761

1)訪問web元素

1. 前三者:依賴於容器

2. 前三者:ioc (只用這種)

3. 後三者:依賴於容器

4. 後三者:ioc

方法一:actioncontext方式

一般在action類的構造方法、或execute()方法中獲取。

private map request;

private map session;

public loginaction1()

private maprequest;

private mapsession;

........

}方式三:獲取原型別

方式四:獲取原型別-控制反轉

public class loginaction4 extends actionsupport implements [color=red]servletrequestaware[/color]

2)struts2配置檔案模組化包含(include)

3)預設的action

當使用者訪問的namespace下乙個不存在的action,則會將使用預設的action。

使用標籤 其中 name屬性指向下面已經定義的action名稱了。

/default.jsp

當前訪問namespace=」/」下不存在的action時,則返回自動轉到訪問/default.jsp頁面。

[size=x-large]struts2-result[/size]

1)result型別 (type)

1、 dispatcher

運用伺服器跳轉 jsp forward

不可以是action,只可以跳轉到檢視

2、 redirect

客戶端跳轉(重定向)-url發生變化

不可以是action,只可以跳轉到檢視

3、 chain

跳轉到action (forward action)

可以動用到action

在訪問action時,action前面不要加」/」

4、 redirectaction

客戶端跳轉到action――-url發生變化

傳送乙個http頭

7、 stream

8、 velocity

9、 xslt

10、 plaintext

返回頁面的原始碼

11、 titles

把頁面分成幾塊,每個頁面都可以動態的指定

/r1.jsp

/r2.jsp

r1r2

注:當訪問不同的namespace下的action時,則使用如下方式:

dashboard//action名稱

/secure//namespace值

2)全域性結果集(globle result)

當有多個action使用同乙個結果集時,則可以使用全域性結果集(globle result),如下:

/main.jsp

3)動態的結果集(dynamic result)

$注:${}:作用是用於在配置檔案中從value stack(值棧)中取值。注意這個成員屬性必需具有

注:此處的${}不是el表示式。

public class useraction extends actionsupport

public void setr(string r)

public int gettype()

public void settype(int type)

@override

public string execute() throws exception

}4)帶引數的結果集

也就是向結果集傳引數

伺服器forward共享乙個值棧(value stack)

客戶端跳轉則不共享

例如:/user_success.jsp?t=$

useraction類:

public class useraction extends actionsupport

public void settype(int type)

@override

public string execute() throws exception

}因為當執行action後,已經將action的成員屬性寫入了值堆疊了,因此可以在配置檔案中使用$取出type的值。

但是只有action才具有值堆疊的。jsp是沒有什麼值堆疊的。因為當result重新定向到/user_success.jsp?t=$後,是不能從值堆疊中取出t的值。但是有actioncontext的,所以可以從中取出t的值。jsp**如下:

user success!

from valuestack:

from actioncontext:

注:取不到值,[color=red]因為jsp不是乙個action沒有值堆疊。[/color]

可以取出t的值,因為#方式是從actioncontext中取屬性值。

actioncontext堆疊中具有parameters這個屬性是用於儲存傳入的引數。所以可以取出。

Struts2學習之旅(3)

如果struts.xml檔案中的action過多,在乙個檔案中定義,導致檔案過於臃腫.我們通過標籤來引入多個配置檔案 file login.xml include file system.xml include 繼續strtus2學習之旅 2 修改設定多個配置檔案 注意在配置檔案中不要忘了引入str...

Struts2學習筆記3

include 配置的action比較多的時候可以根據action的邏輯進行分包操作,就是命名多個struts.xml,在主要的struts.xml中新增include標籤,將其他邏輯的xml包含進來,配置如下 include file struts1.xml include intercerpto...

struts2學習筆記 struts2的配置檔案

一 struts.xml定義bean的作用 1.建立該bean的例項,將該例項作為struts2框架的核心元件使用。2.bean包含的靜態方法需要乙個值注入。很方便地允許不建立某個類的例項,卻可以接受框架常量。通常需要設定static true 通常,當指定了type屬性時,該屬性不應該制定為tru...