Struts2中的型別轉換

2021-09-07 02:31:40 字數 1618 閱讀 2461

我們知道通過http提交到後台的資料,都是字串的形式,而我們需要的資料型別當然不只字串型別一種。所以,我們需要型別轉換!

在struts2中,型別轉換的概念除了用於將介面傳遞過來的字串轉換為特定的型別(convertfromstring)之外,還可以用於將特定的型別轉換為字串(即當我們在jsp中要把某種型別的物件呈現的時候,要將它轉換為字串來顯示)(convertertostring)。

在struts2中,支援全域性型別轉換和區域性型別轉換兩種方式。所謂全域性型別轉換,即在所有的action/model中,都用同乙個型別轉換器來轉換某種特定型別的物件;而區域性型別轉換,意思就是針對某個action/model中的屬性所定義的特定的型別轉換器。

不管是全域性型別轉換,還是區域性型別轉換,其轉換器的編寫方法是相同的!只要繼承strutstypeconverter,重寫其中的方法即可。

即針對整個系統中同樣型別的屬性定義轉換器

只需:1、  在類路徑的根目錄下定義xwork-conversion.properties檔案

2、  在檔案中用這樣的格式宣告哪個型別使用哪個轉換器:

a)       

屬性型別的全路徑類名=轉換器的全路徑類名

3、  struts2將能自動發現這個檔案,並根據其中的定義,對特定的型別呼叫你指定的型別轉換器進行型別轉換

比如point型別:

packagecn.com.leadfar.model;

publicclasspointcatch(parseexception e)catch(parseexception e) {

e.printstacktrace();

returnnull;

@override

publicstring converttostring(map context, object date) {

returnformat.format(date);

那麼,我們需要在user類的包:cn.com.leadfar.model下面,建立乙個檔案,命名如下:

user-conversion.properties,檔案的內容如下:

enddate=cn.com.leadfar.struts2.actions.enddateconverter

表示user類中的enddate屬性,使用enddateconverter這個型別轉換器。

然後,在useraction類所在的包:cn.com.leadfar.struts2.actions下面,再建立乙個檔案,命名如下:

useraction-conversion.properties,檔案的內容如下:

begindate=cn.com.leadfar.struts2.actions.begindateconverter

表示useraction類中的begindate屬性,使用begindateconveter這個型別轉換器。

注意,在struts1中只支援全域性型別轉換,而不支援區域性型別轉換!

Struts2中的型別轉換

我們知道通過http提交到後台的資料,都是字串的形式,而我們需要的資料型別當然不只字串型別一種。所以,我們需要型別轉換!在struts2中,型別轉換的概念除了用於將介面傳遞過來的字串轉換為特定的型別 convertfromstring 之外,還可以用於將特定的型別轉換為字串 即當我們在jsp中要把某...

Struts2 的型別轉換

1 總體概述 將 string 型別轉化為自定義型別,是瀏覽器傳遞的引數轉換成相應的物件型別,從伺服器跳轉到瀏覽器頁面是自定義型別 物件型別 到 string 型別的轉換。2 流程 當瀏覽器提交到乙個 action 時候,會找到相應的 action 類,當呼叫 action 類裡面set 方法的時候...

struts2的型別轉換

由於使用者在客戶端輸入的資料都為字串型別,當將其儲存到伺服器端時無疑要進行型別轉換,這樣型別轉換自然應運而生了 與型別轉換相關聯的還有輸入校驗,只是輸入校驗習慣性建立在型別轉換基礎之上,輸入校驗將在後面介紹 可以說型別轉換和輸入校驗主要是對使用者輸入的資料進行基本的處理和驗證,以增強系統的安全和穩定...