struts2 型別轉換

2021-05-05 00:08:23 字數 2162 閱讀 3612

*

繼承strutstypeconverter

類或者直接去實現

ognl.defaulttypeconverter

類* strutstypeconverter

類是對defaulttypeconverter

類的包裝。

* 實現

convertfromstring()

和converttostring()

方法*

然後配置型別轉換器:

* 區域性配置

:在需要使用型別轉換器的

action

類的同級目錄下建立乙個

properties

型別的檔案,命名為

***-conversion.properties

,***

指action

的名字。配置檔案中的格式為

: action

屬性名=

轉換器全路徑名稱,假如

action

中存在乙個

point

型別的屬性

point

,其轉換器為

pointconverter

。其格式為

point=***.***.pointconverter

* 全域性配置

:主要是配置某個類的型別轉換器。在

src根目錄下建立乙個

properties

型別的檔案,名為

xwork-conversion.properties.

配置檔案格式:要轉換的類的全路徑

=轉換器全路徑

如: ***.***.point=***.***.pointconverter *

當action

中的屬性為自定義型別,而

jsp頁面是對該屬性的成員變數

(非自定義資料型別)

賦值,可不用設

置轉換器。如:

jsp頁面:

point.x , point.y

兩個屬性,此

時action

中的point

屬性會被自動賦值。

* 如果

action

中的屬性為集合/陣列

。此時,有兩種方法:

* 直接使用型別轉換器,將多個值轉換為乙個集合

/數值物件。

* 第二種方法是配置

jsp頁面即可。假如

actdion

中存在乙個

list

型別的points

屬性,其

jsp頁面為:

上述jsp

配置,可不用設定型別轉換器。若

name=」point[0]」

此時必須配置一

個全域性型別轉換器,因為現在

jsp頁面配置的是乙個

point

物件。若是乙個物件

的屬性(

非自定義資料型別

)可不用配置型別轉換器。

* 注意:若

action

中不使用泛型,則必須在區域性型別轉換器配置檔案中指定集合中的

元素型別。如:

action: private list points *

配置檔案:

對collection

而言,比如

list

,元素是通過element_***格式來

指定的,***用來指代我們的

action

或者物件中

collection

型別屬性的名字。對於

map而言,則需通過key_***

element_***

來分別指定

key和

value

的型別,***仍然用來指代我們的

action

或者物件中

map型別屬性的名字。

如:keyproperty_points=x// list

將point.x

屬性作為索引值

element_points=***.***.point

createifnull_ points =true

struts2型別轉換

一 內容提要 1.型別轉換概述 2.型別轉換出錯時如何進行處理 轉到哪個頁面 顯示什麼錯誤訊息 3.自定義型別轉換器 4.型別轉換與複雜物件配合使用 二 型別轉換概述 從乙個html表單到乙個action物件,型別轉換是從字串到非字串http沒有 型別 的概念,每一項表單輸入只可能是乙個字串或乙個字...

Struts2型別轉換

實體類 public class user struts.xml配置 struts型別轉換的api struts2的型別轉換器實際上是基於ognl實現的,在ognl專案中有乙個ognl.typeconverter介面,這個介面就是實現型別轉換器必須實現的介面。該介面定義如下 public inte ...

struts2(五)型別轉換

public class user public string getname pass的setter和getter方法 public void setpass string pass public string getpass action裡包含了乙個user型別的屬性,這個屬性需要進行型別轉換,...