struts2的Converter

struts2的Converter所起的作用是在頁面數據和Java所支持的數據之間進行轉換,在頁面中,我們最常用的就是string類型。但是在Java類中,

像int,Date,Map,List等類型,直接將頁面所傳來的string類型值賦給這些變量,就會引異常,因此在賦值前必須進行類型轉換。struts2的Converter就是這個作用。struts爲我們準備了基本的Converter,如基本類型(int,double等),還有日期類型,各種集合類型。

不過struts2也給用戶留下了自定義轉換器的接口,通過繼承OGNL.DefaultTypeConverter類,我們可以定義一個轉換類。

 

下面仿照一個在頁面中畫點的項目說明。假設用戶可以在jsp頁面中輸入一個點的座標,如(10,10),在後臺我們就有一個Point類的實例Point(10,10)

與之對應。要想做到這點,我們就需要利用類型轉換了,首先定義一個Point類,然後再定義一個PointConverter類用來進行類型轉換。在整一PointAction做響用。Point類的源碼如下:

 

PointConverter的源碼:

 

PointAction的源碼:

 

在tutorial目錄下建立PointAction-conversion.properties文件:

作用是告訴struts2框架在給Point用setter方法賦值時,用tutorial.PointConverter進行轉換。其中key是action中需要轉換的屬性,value要包括包名。

struts.xml片段:

 

在point下建立point.jsp文件,如下:

發佈,運行即可。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章