struts2頁面跳轉的方式

2021-08-21 01:37:03 字數 1953 閱讀 3626

①**②重定向   **到自己的action type變為chain

targetaction_login

/③**自己的action

targetaction

/④不跳轉 接受ajax請求

1)適用原生的servletapi

actioncontext在strus2中  我們把他叫做資料中心

request                  原生物件

response                 原生物件

session                    原生物件

session context        原生物件 

request                  域           map  struts2不建議使用,如果要用就用actioncontext物件

session                   域          map

attr                        域             map

actioncontext生命週期:

所有的servelt物件都存在,他的生命週期是隨其中最短的人而建立和銷毀。也就是request物件。

每次請求到來action content都會重新建立。

所以他解決了執行緒安全,使用serveltapi響應請求

首先獲得response物件(兩種方法)然後回到原生態servelt響應中

action方法中的返回值必須是none(如果設定為none那麼在strits.xml重就不用寫了)

2)stream

①在action類中建立乙個inputstream物件

②給這個物件新增乙個get方法

③strtus.xml中的result中的標籤中設定type = stream

④action最總可以將json字串轉化為inputstream

3)使用json外掛程式

①導包

②建立乙個action類

定義你想要返回的json的鍵名

生成get set 方法

然後在action訪問的方法為這個json鍵名的物件進行賦值

③配置struts.xml檔案

重新建package extends 繼承不能寫 struts-default 要寫 json-default(在struts-json-plugin包中)

action不變

result name 屬性不變type 屬性名變為json(在strut-json-plugin 的struts-plugin.xml中)

原因:struts2是執行緒安全

在action類中直接定義屬性名 然後設定

get set

方法在訪問的地方傳入對應的屬性名和值,struts2自動接受

定義乙個bean類 在

action

定義乙個物件

並且加上get set 方法

並且再去請求的地方

請求引數鍵值有規定,必須按照規定的物件名

屬性名傳遞

實現moduledriver介面

重寫方法

在action 中建立乙個

user

物件,並且要

new物件

請求的地方還是按照物件屬性傳遞

struts2頁面配置

建立兩個action 方法返回值相同,要到達的頁面也相同,這個時候可以採用全域性結果頁面配置。如下 hello.jsp 如果action標籤下面也配置了區域性的result,即區域性變數和全域性變數同時存在的時候,以區域性變數的結果為準。result 標籤中type屬性值 1 如果配置結果是轉向別的...

Struts2頁面取值問題

struts2頁面取值 後總結出了4種取值得辦法 1 struts2頁面開發中常用標籤使用說明 1.1 往action裡傳值的使用方式 a.username屬性需要在訪問的action中提供相應的屬性,並有set get方法。b.可以不在訪問的action中提供相應的屬性,用request.getp...

Struts2 頁面資料處理

1 輸出session中的值 a.s property value session key b.2 獲取session中的值後判斷 s if test session key null 3 輸出action中的屬性值 s property value property 4 輸出國際化檔案中的值 a....