struts2中會預設可以直接轉化已有的資料型別,如int,string,date等型別,但對於自定義的型別需要人工進行處理轉化。以簡單的自定義point類為例,在頁面中輸入並進行相應的轉化後輸出。
struts表單中提交point型別的資料,需要為其指定相應的轉化方法
自定義乙個轉化類,從ognl中預設的型別轉化類繼承而來
public class pointconverter extends defaulttypeconverter
//伺服器端需要向客戶端返回結果,轉化為string型別
if(string.class==totype)
return null;
}
並在處理此form表單的action檔案下新建檔案 【[action檔名]-conversion.properties】檔案,寫入配置資訊point=com.test.converter.pointconverter,此時就將等號前的型別按照等號後的轉化檔案中的方法進行處理與轉化。
以上所述為區域性配置的轉化方法,struts2提供了另外一種全域性的轉化方法,在src檔案目錄下新建【xwork-conversion.properties】檔案,此檔名固定,同樣也寫入相應的配置資訊,但需注意一點,需指出該類的所在位置,乙個示例的配置資訊如下:
com.test.bean.point=com.test.converter.pointconverter2
同樣的,可以得到一樣的效果
另外,可以不用自己構造型別轉化的方法而直接由struts預設提供的類繼承而來,範例如下:
public class pointconverter2 extends strutstypeconverter
@override
public string converttostring(map arg0, object arg1)
}
從strutstypeconverter類中繼承,只需實現上述兩個抽象方法,從字串轉化為相應型別或者從相應型別轉化為字串。
引入泛型支援後,可通過範圍接收標籤一樣的輸入,
接收到的point將成為string陣列,將其讀取後存進list當中
listlist=new arraylist();
for(string value:arg1)
return list;
顯示方法也是相同。
另外,struts支援另外一種對類的直接賦值,
此時不用配置任何檔案,struts會預設地將x,y的值傳到point當中構造出相應的point類,但是此方法對類有一要求,即該類要有預設的建構函式,否則將會失敗。在輸出顯示的時候,要重寫該類的tostring()方法,否則輸出的是例項,而不是按自己要求的輸出
Struts2 的型別轉換
1 總體概述 將 string 型別轉化為自定義型別,是瀏覽器傳遞的引數轉換成相應的物件型別,從伺服器跳轉到瀏覽器頁面是自定義型別 物件型別 到 string 型別的轉換。2 流程 當瀏覽器提交到乙個 action 時候,會找到相應的 action 類,當呼叫 action 類裡面set 方法的時候...
struts2的型別轉換
由於使用者在客戶端輸入的資料都為字串型別,當將其儲存到伺服器端時無疑要進行型別轉換,這樣型別轉換自然應運而生了 與型別轉換相關聯的還有輸入校驗,只是輸入校驗習慣性建立在型別轉換基礎之上,輸入校驗將在後面介紹 可以說型別轉換和輸入校驗主要是對使用者輸入的資料進行基本的處理和驗證,以增強系統的安全和穩定...
Struts2的型別轉換
一,區域性型別轉換 對某個action中的字段進行型別轉換 1,寫乙個針對該action的要轉換的字段的轉換器,繼承defaulttypeconverter,重寫convertvalue方法 2,在該action同乙個目錄下 同一包下 新建乙個 conversion.properties檔案。是該a...