struts2傳參問題,以及接收時間引數

2021-08-02 21:59:23 字數 1130 閱讀 6033

實訓做了乙個s2sh專案有些知識盲點,struts2的action傳參機制是:引數從jsp(也可以是其他前端頁面如html)頁面傳送到後台action,在到達action前,會經過struts2本身的各種過濾器進行篩選過濾,這個過程會報錯,導致action接收不到引數,例如時間類引數,從頁面傳來的引數都為字串型別。需要struts2的過濾器進行解析,如果struts2的過濾器識別不了頁面傳來的字串格式,就無法解析,如struts2只能識別(2017-03-33  34:23:56)這一種時間格式,其他傳來的格式struts2無法解析,這時候就只能自己將資料解析成struts2識別的格式,再賦值給action中的date型別的引數。

當在action獲取資料,想要將其傳到要轉到的頁面時,需要action中有這個引數的get和set方法,然後struts2會自動將資料傳到要轉到的頁面,在頁面用el表示式獲取資料。

例如:有乙個action

@@autowired

private personservice perosnservice;

private listpersonlist;

@action(value="home",results=)

public string home()

如上**,在action中獲取了person表中所有的資料,如何將personlist這個引數傳到要轉到的頁面呢?

很簡單,只要有personlist的get和set方法就行了,struts2會將action中的資料全都自動傳到要轉的頁面

,在頁面中可以直接用$獲取,personlist代表的是 getpersonlist()方法

完整的**應該是這樣的:

@autowired

private personservice perosnservice;

private listpersonlist;

@action(value="home",results=)

public string home()

public listgetpersonlist()

public

void

setpersonlist(listpersonlist)

struts2接收頁面傳參的三種方式

struts2通過 機制封裝了三種接收頁面引數的方式 1.屬性驅動 2.模型驅動 有兩種 domain modeldriven 1.屬性驅動 這種方式比較簡單,只要你直接在頁面定義變數並且符合以下兩個規則,就會自動接收值。規則1 你變數的名字和頁面的name屬性一致 規則2 生成對應的get set...

Struts2中Action的屬性接收引數

action中三種傳遞並接受引數 1 在action新增成員屬性接受引數 http localhost 8080 struts2 0700 actionattrparaminput user user add?name a age 8其中傳遞了兩個引數 name和age,其值分別為 a 8,此act...

struts2 接收引數

1 採用基本型別接收請求引數 get post 在action類中定義與請求引數同名的屬性,struts2便能自動接收請求引數並賦予給同名屬性。請求路徑 do?id 23 name sss public class productaction private integer id public vo...