Struts2類型轉(zhuǎn)換技術(shù)

1. Struts2 類型轉(zhuǎn)換使用介紹

Struts2的類型轉(zhuǎn)換幾乎支持Java中各種數(shù)據(jù)類型的轉(zhuǎn)換。甚至開發(fā)者還可以自定義自己的類型轉(zhuǎn)換功能,但是,我們并不推薦開發(fā)人員自定義的類型轉(zhuǎn)換功能。原因有二:一是遵循IT界著名名言“不重復(fù)發(fā)明輪子”,不在前人的成果上再次浪費(fèi)時間。而是類型轉(zhuǎn)換本身在開發(fā)的過程中就不適合占用大量的時間和人力,增加成本。

1.1 基本數(shù)據(jù)類型轉(zhuǎn)換功能

在struts2的內(nèi)部,有著一系列非常完整的類型轉(zhuǎn)換功能,所以在基本類型轉(zhuǎn)換的功能上,我們并不需要花費(fèi)太多的時間去進(jìn)行深究,直接在應(yīng)有的方向上進(jìn)行使用。

1.2 List集合類型數(shù)據(jù)類型轉(zhuǎn)換功能

在這里有一個比較重要的內(nèi)容,當(dāng)我們在Action類中定義我們所需要的List類型變量的時候,要注意List集合中的元素是何種對象?這里有兩種方法。一是在Action類中定義的時候使用泛型,就可以明確該集合是什么對象的。二是在Action所在包的下面建一個屬性文件:這里要注意該屬性文件是一個局部類型轉(zhuǎn)換屬性定義文件。文件名要以ActionName開頭,然后以--conversion.properties結(jié)尾。這表示是對該Action中List集合類型指定元素類型。

1.3 Set集合類型數(shù)據(jù)類型轉(zhuǎn)換功能

Set集合類型變量有一個顯性的要求,就是變量必須顯示定義它的類型。否則Struts2不知道該變量是哪一種Set集合,這樣系統(tǒng)就找不到在屬性文件中定義的所以和元素對象類型。
在屬性文件中除了繼續(xù)定義元素對象類型之外,還需要定義該機(jī)和類型變量的索引。其中定義索引的通用格式為 " KeyProperty_SetName = 屬性 "。
在數(shù)據(jù)輸入的JSP頁面中,筆者使用OGNL中的 “ makeNew ”API 。先建立對象,然后依次輸入對象的各個屬性數(shù)據(jù)。
其他和List集合并沒有什么太大的區(qū)別。

2. 類型轉(zhuǎn)換發(fā)生異常的處理方案

類型轉(zhuǎn)換其實就是調(diào)用某些Struts2已經(jīng)定義的Java代碼。不過只要有Java這門語言書寫的程序都不可避免異常處理。

2.1 Struts2自帶異常提示

如果不使用任何其他代碼直接輸入錯誤,也就是類型轉(zhuǎn)換失敗的話,就會直接彈出一些屬于struts2 自己的異常提示
當(dāng)然,我們也可以使用<s:filederror />這么一個標(biāo)簽,就能比較好的展示出類型轉(zhuǎn)換異常。

2.2 Struts2 局部異常提示定義屬性文件使用介紹

例如:
invalid.fieldvalue.fieldName=xxxx
這樣就是一個局部的異常提示。前面是固定的,然后后面呢,就是在Jsp頁面中定義的field的name。

2.3 Struts2 全局異常提示定義屬性文件使用介紹

例如:
xwork.default.invalid.fieldvalue={0}類型轉(zhuǎn)換錯誤
注意:* 屬性文件中的“{ 0 }”其實就是占位符,如果有多個屬性的類型轉(zhuǎn)換有異常發(fā)生,可依次以"{0}","{1}"定義多個屬性。然后這些屬性名會自動一一對應(yīng)于屬性文件中的定義。 *

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,745評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,654評論 19 139
  • 1、struts2工作流程 Struts 2框架本身大致可以分為3個部分: 核心控制器FilterDispatch...
    重山楊閱讀 1,613評論 0 38
  • 之前的一系列文章主要介紹了有關(guān)Struts2的一些基本用法和部分的簡單原理,但是始終沒有介紹有關(guān)攔截器的相關(guān)內(nèi)容,...
    Single_YAM閱讀 726評論 0 5
  • 都說最壞的脾氣留給最愛的人,在人生中,母親應(yīng)該是被嫌棄最多的一位了吧。 1 小學(xué)的時候,經(jīng)常會有家長會。家長會除了...
    槽八點(diǎn)閱讀 218評論 0 0

友情鏈接更多精彩內(nèi)容