日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Struts2講義33

系統(tǒng) 1898 0

7.2 ? 類型轉(zhuǎn)換發(fā)生異常處理方案

類型轉(zhuǎn)換說明白點也就是調(diào)用某些 Struts2 已經(jīng)定義的 Java 代碼。不過只要由 Java 這門語言書寫的程序都不可避免異常處理。因此萬一在類型轉(zhuǎn)換中發(fā)生異常,必須要快速解決它。本節(jié)就介紹筆者日常中對類型轉(zhuǎn)換的異常進行處理的一些辦法和方案。

7.2.1 ? Struts2 自帶異常提示

技術(shù)要點

Struts2 自帶對于類型轉(zhuǎn)換發(fā)生異常錯誤時候提示。

無任何操作時的錯誤提示。

輸入 fielderror 標簽時的錯誤提示。

演示代碼

使用 7.1.1 示例代碼沒有進行任何數(shù)據(jù)異常處理時候數(shù)據(jù)輸入如圖 7.7 。

Struts2講義33

7.7 ? 各種基本類型數(shù)據(jù)輸入

輸入價格類型為字符串類型,而價格類型其實是 double 類型。此時錯誤提示如圖 7.8

Struts2講義33

7.8 ? 價格類型輸入錯誤圖

引入 Struts2 標簽 fielderror 的數(shù)據(jù)輸入 JSP 代碼:

Java代碼 復制代碼
  1. <!------------------------文件名:addMaterial.jsp-------------------> ??
  2. ………… ??
  3. ?????????<s:fielderror/> ??
  4. …………??
      <!------------------------文件名:addMaterial.jsp------------------->
…………
         <s:fielderror/>
…………
    
?

引入標簽后類型轉(zhuǎn)換錯誤的提示如圖 7.9 。

Struts2講義33

7.9 ? 引入標簽 fielderror 后價格類型輸入錯誤圖

代碼解釋

1 )本節(jié)代碼大致和 7.1.1 代碼類似。在沒有引入 fielderror 標簽之前。筆者只是簡單的把 7.1.1 代碼 copy 過來,沒有增加任何代碼。當在數(shù)據(jù)輸入頁面,輸入的價格數(shù)據(jù)為字符串類型數(shù)據(jù)。由于類型轉(zhuǎn)換時候,價格作為 Material 對象的一個屬性,它的 Java 代碼定義的類型是 double 類型,因此如果頁面上輸入的價格不是數(shù)字組成的,則轉(zhuǎn)換類型時候必定會發(fā)生類型轉(zhuǎn)換異常。此時 Struts2 自帶的處理類型轉(zhuǎn)換異常的機制就會如圖 7.8 顯示紅色的錯誤提示信息和出錯的數(shù)據(jù)輸入框提示。

2 Struts2 本身還有個提示表單中 field 輸入錯誤的提示標簽。該標簽名字為“ fielderror ”,具體寫法如代碼中所示。之所以在前面介紹 Struts2 標簽的章節(jié)中沒有記述該標簽,只是因為很多 Struts2 標簽有特定的使用意義和使用場合,因此在介紹 Struts2 其他部分時候會順便介紹這些有特殊使用場合的標簽。

如圖 7.9 , JSP 代碼中加了該標簽后,顯示的錯誤提示信息是在頁面頭部分。也就是說 fielderror 標簽在頁面上引入后,顯示的錯誤提示除了顯示位置不同之外,其他都是和不引入標簽時候 Struts2 自帶提示類型轉(zhuǎn)換錯誤提示是相同的。

注意:錯誤提示中的“ material.bid ”是 JSP 中定義的價格這個 field name

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

技術(shù)要點

定義局部屬性文件,在該文件中定義類型轉(zhuǎn)換發(fā)生異常時的錯誤提示。

局部屬性文件定義。

演示代碼

局部屬性文件代碼:

Java代碼 復制代碼
  1. <!----------------------文件名:AddMaterialAction.properties---------------> ??
  2. #Action屬性類型轉(zhuǎn)換錯誤提示 ??
  3. invalid.fieldvalue.material.bid=材料價格非法輸入??
      <!----------------------文件名:AddMaterialAction.properties--------------->
#Action屬性類型轉(zhuǎn)換錯誤提示
invalid.fieldvalue.material.bid=材料價格非法輸入
    
?

?

異常錯誤提示如圖 7.10 。

Struts2講義33

7.10 ? 價格類型輸入錯誤圖

代碼解釋

1 )如同之前類型轉(zhuǎn)換屬性文件定義一樣,在和 Action 文件同目錄下定義了名為“ ActionName.properties ”的屬性文件,在該屬性文件中對類型轉(zhuǎn)換錯誤的屬性進行定義。其中“ material.bid ”就是輸入數(shù)據(jù)的 JSP 頁面中定義的 field name 。而“ invalid.fieldvalue ”則是固定不變的格式。這樣設(shè)置后,系統(tǒng)就會在發(fā)生類型轉(zhuǎn)換錯誤時候在頁面上顯示屬性文件中定義的類型轉(zhuǎn)換錯誤提示信息。不會顯示之前使用 fielderror 標簽時候顯示的提示信息。

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

技術(shù)要點

定義全局屬性文件,在該文件中定義類型轉(zhuǎn)換發(fā)生異常時的錯誤提示。

全局屬性文件定義。

演示代碼

全局屬性文件代碼:

Java代碼 復制代碼
  1. <!-----------------文件名:messageResource.properties------------------> ??
  2. #類型轉(zhuǎn)換提示 ??
  3. xwork. default .invalid.fieldvalue={ 0 }類型轉(zhuǎn)換錯誤~~~??
      <!-----------------文件名:messageResource.properties------------------>
#類型轉(zhuǎn)換提示
xwork.default.invalid.fieldvalue={0}類型轉(zhuǎn)換錯誤~~~
    
?

?

異常錯誤提示如圖 7.11

Struts2講義33

7.11 ? 價格類型輸入錯誤圖

代碼解釋

1 )在源代碼根目錄下筆者定義了名為“ messageResource.properties ”的屬性文件,該文件是用來顯示國際化目的而使用的屬性文件。但關(guān)于類型轉(zhuǎn)換的錯誤定義也可以在該屬性文件中定義。這樣在所有 JSP 頁面中只要有有關(guān)于 Material 對象的 bid 屬性的輸入類型轉(zhuǎn)換都可以調(diào)用該屬性文件中對 bid 屬性類型轉(zhuǎn)換異常提示的信息。

注意:屬性文件中的“ {0} ”其實是占位符號,如果有多個屬性的類型轉(zhuǎn)換有異常發(fā)生,可依次以“ {0} ”,“ {1} ”這樣定義多個屬性。然后這些屬性名會自動一一對應(yīng)于屬性文件中的定義。比如該示例中是“ material.bid ”則“ {0} ”中代表的就是它。所以在異常信息提示的頁面上顯示的是“ material.bid 類型轉(zhuǎn)換錯誤”。

Struts2講義33


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 潍坊市| 内乡县| 庆元县| 广昌县| 互助| 中卫市| 辰溪县| 广安市| 武川县| 德安县| 东宁县| 社旗县| 鄱阳县| 镇巴县| 鄂托克旗| 连平县| 炎陵县| 博爱县| 色达县| 肥西县| 靖边县| 白山市| 沐川县| 定南县| 衡山县| 孝感市| 灵石县| 清新县| 宁都县| 达拉特旗| 搜索| 恩施市| 乌什县| 都匀市| 抚宁县| 永新县| 涡阳县| 东平县| 长葛市| 四子王旗| 延吉市|