【Struts2】:Struts2的型別轉換
所有的MVC框架,都需要負責解析HTTP請求引數,並將請求引數傳遞給控制器元件。此時,問題出現了:HTTP請求引數都是字串型別的,但Java語言又是強型別的,因此MVC框架必須將這些字串引數轉換成相應的資料型別——這個工作是所有的MVC框架都應該提供的功能。
除此之外,Struts2提供了很好的擴充套件性,開發者可以非常簡單地開發出自己的型別轉換器,完成字串和自定義複合型別之間的轉換(例如,完成字串到Person例項的轉換),如果型別轉換中出現未知異常,型別轉換器開發者無須關心異常處理的邏輯,Struts2的conversionError攔截器會自動處理該異常,並且在頁面上生成提示資訊。總之,Struts2的型別轉換器提供了非常強大的表現層資料處理機制,開發者可以利用Struts2的型別轉換機制來完成任意的型別轉換。
Struts2內建的型別轉換器
對於大部分的常用型別,開發人員根本不用去管型別轉換,Struts2可以完成大多數常用的型別轉換。這些常用的型別轉換時通過Struts2內建的型別轉換器完成的,Struts2已經內建了字串型別和如下型別之間的相互轉換的轉換器。
boolean和Boolean:完成字串和布林值之間的轉換。
char和Character:完成字串和字元之間的轉換。
int和Integer:完成字串和整型值之間的型別轉換。
long和Long:完成字串和長整型值之間的型別轉換。
float和Float:完成字串和單精度浮點值之間的轉換。
double和Double:完成字串和雙精度浮點值之間的轉換。
Date:完成字串和日期型別之間的轉換,日期格式使用使用者請求所在Locale的short格式。
陣列:在預設情況下,陣列元素是字串,如果使用者提供了自定義型別轉換器,也可以是其他複合型別的陣列。
集合:在預設情況下,假定集合元素型別為String,並建立一個新的ArrayList封裝所有的字串。
因為Struts2提供了上面這些型別轉換器,如果需要把HTTP請求引數轉換成上面的這些型別,則根本不用開發者進行任何的特殊處理。這也是所謂的框架的好處所在,將很多的基礎服務為開發人員封裝好,我們直接使用即可,大大的的提高了開發效率,也為開發人員及減輕了工作量。
表現層資料的流向以及所需的型別轉換如下圖所示:
除此之外,Struts2提供了很好的擴充套件性,開發者可以非常簡單地開發出自己的型別轉換器,完成字串和自定義複合型別之間的轉換(例如,完成字串到Person例項的轉換),如果型別轉換中出現未知異常,型別轉換器開發者無須關心異常處理的邏輯,Struts2的conversionError攔截器會自動處理該異常,並且在頁面上生成提示資訊。總之,Struts2的型別轉換器提供了非常強大的表現層資料處理機制,開發者可以利用Struts2的型別轉換機制來完成任意的型別轉換。
Struts2內建的型別轉換器
對於大部分的常用型別,開發人員根本不用去管型別轉換,Struts2可以完成大多數常用的型別轉換。這些常用的型別轉換時通過Struts2內建的型別轉換器完成的,Struts2已經內建了字串型別和如下型別之間的相互轉換的轉換器。
boolean和Boolean:完成字串和布林值之間的轉換。
char和Character:完成字串和字元之間的轉換。
int和Integer:完成字串和整型值之間的型別轉換。
long和Long:完成字串和長整型值之間的型別轉換。
float和Float:完成字串和單精度浮點值之間的轉換。
double和Double:完成字串和雙精度浮點值之間的轉換。
Date:完成字串和日期型別之間的轉換,日期格式使用使用者請求所在Locale的short格式。
陣列:在預設情況下,陣列元素是字串,如果使用者提供了自定義型別轉換器,也可以是其他複合型別的陣列。
集合:在預設情況下,假定集合元素型別為String,並建立一個新的ArrayList封裝所有的字串。
因為Struts2提供了上面這些型別轉換器,如果需要把HTTP請求引數轉換成上面的這些型別,則根本不用開發者進行任何的特殊處理。這也是所謂的框架的好處所在,將很多的基礎服務為開發人員封裝好,我們直接使用即可,大大的的提高了開發效率,也為開發人員及減輕了工作量。
相關文章
- 【Struts2】:基於OGNL的型別轉換型別
- Struts2日期型別轉換問題???型別
- struts2 result type型別型別
- Struts2中 Result型別配置詳解型別
- Struts2(六)result 返回型別講解型別
- springMVC和Struts2的區別SpringMVC
- springmvc與struts2的區別SpringMVC
- struts2檔案上傳型別限制 之 zip和rar檔案型別型別
- 關於struts2 action中map型別屬性的對映型別
- struts1與struts2的區別
- java- 型別-轉換:基本型別以及包裝型別的轉換Java型別
- Struts2的框架框架
- PHP 型別轉換&&型別強制轉換PHP型別
- java型別轉換與強制型別轉換(轉)Java型別
- Struts2教程1:第一個Struts2程式
- 從webwork2.2應用到struts2的移植看webwork2.x和struts2的區別Web
- struts2 使用Maven搭建Struts2框架的開發環境Maven框架開發環境
- C++中的向上型別轉換和向下型別轉換C++型別
- 型別轉換型別
- interface{} 型別的轉換型別
- golang的型別轉換Golang型別
- Struts2 - OGNL表示式和Struts2標籤庫
- 資料型別,型別轉換資料型別
- struts2總結(三)--官網下載struts2的jar包JAR
- Struts2(五) 校驗簡單資料型別方法 和 值棧的說明資料型別
- 日期型別與String型別的轉換型別
- Struts2 resultType(十五)
- Struts2 FilterDispatcher StrutsPrepareAndExecuteFilterFilter
- Struts2工程搭建
- struts2入門
- Struts2核心元件元件
- Struts2工作原理
- js型別轉換JS型別
- 字元型別轉換字元型別
- 3.2 型別轉換型別
- JavaScript 型別轉換JavaScript型別
- Golang型別轉換Golang型別
- 型別轉換(cast)型別AST