1. 程式人生 > >struts2獲取前臺傳遞過來的資料的三種方式

struts2獲取前臺傳遞過來的資料的三種方式

struts2獲取前臺傳遞過來的資料可以通過屬性驅動模型驅動兩種方式獲得。

屬性驅動

1、使用變數的方式

前臺:

action:

action中要獲得前臺傳遞過來的account和password兩個引數的資料。那麼就必須在action中設定和前臺name屬性值同樣名稱的變數。同時必須設定get、set方法。這樣在訪問action的過程中,struts會自動的為action中的這兩個變數設定前臺傳過來的值 也就是說把引數作為Action的類屬性,並且提供屬性的get、set方法時,xwork的OGNL會自動的把request引數的值設定到類屬性中,此時訪問請求引數只需要訪問類屬性即可。2、使用物件的方式

使用變數的方式會有一個缺點,就是當你的表單要傳遞的資料量非常多的時候,好幾十個,你不可能在action中定義好幾十個變數,並且設定它們的get和set方法吧。 這個時候我們就需要通過在action中設定一個module物件即實體物件,並且設定這個物件的get、set方法即可。 前臺:這裡的要傳遞的引數的name屬性值必須通過變數.屬性值的形式進行設定才可以獲得到

user類:

action:

可以發現,我們前臺頁面的name屬性值都變成了user.account和user.password,我們通過前臺傳遞過來的user物件在action介面得到對應的屬性值。通過封裝的方式來實現前臺的值傳遞到action

模型驅動

需要當前action實現com.opensymphony.xwork2.ModelDriven介面,並重寫 getModel方法才能獲取表單中的封裝物件。並且宣告物件的時候一定要例項化,但不需要get和set方法。 前端介面:可以發現name屬性可以直接指定物件的屬性值,並且必須對應才可以獲得到。

action:需要初始化user類,不需要set和get方式即可