亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Struts2講義33

系統(tǒng) 1973 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 標(biāo)簽時的錯誤提示。

演示代碼

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

Struts2講義33

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

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

Struts2講義33

7.8 ? 價格類型輸入錯誤圖

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

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

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

Struts2講義33

7.9 ? 引入標(biāo)簽 fielderror 后價格類型輸入錯誤圖

代碼解釋

1 )本節(jié)代碼大致和 7.1.1 代碼類似。在沒有引入 fielderror 標(biāo)簽之前。筆者只是簡單的把 7.1.1 代碼 copy 過來,沒有增加任何代碼。當(dāng)在數(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 輸入錯誤的提示標(biāo)簽。該標(biāo)簽名字為“ fielderror ”,具體寫法如代碼中所示。之所以在前面介紹 Struts2 標(biāo)簽的章節(jié)中沒有記述該標(biāo)簽,只是因為很多 Struts2 標(biāo)簽有特定的使用意義和使用場合,因此在介紹 Struts2 其他部分時候會順便介紹這些有特殊使用場合的標(biāo)簽。

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

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

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

技術(shù)要點

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

局部屬性文件定義。

演示代碼

局部屬性文件代碼:

Java代碼 復(fù)制代碼
  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 標(biāo)簽時候顯示的提示信息。

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

技術(shù)要點

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

全局屬性文件定義。

演示代碼

全局屬性文件代碼:

Java代碼 復(fù)制代碼
  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條評論
主站蜘蛛池模板: 奇米影视第四色7777 | 国产一在线精品一区在线观看 | 国产成人拍精品视频网 | 狠狠插天天干 | 狠狠久久综合伊人不卡 | 中文字幕亚韩 | 九九热免费观看 | 日韩精品区 | 国产手机在线视频放线视频 | 欧美日韩成人在线观看 | 久久www成人看片 | 99色网| 欧美成人毛片免费网站 | 91精品国产亚一区二区三区 | 国产精品视频免费 | 欧美日韩影视 | 欧美一级高清毛片aaa | 色黄网站青青草原免费 | 视频一区二区在线 | 亚洲最大色网站 | 色婷婷av777| 成人性色生活片免费看爆迷你毛片 | 91最新国产 | 日日干日日操日日射 | 日韩精品一区二区三区中文精品 | 久久www免费人成_看片高清 | 99热99操99射 | 亚洲爱v | 日本aaaa毛片在线看 | 久久狠狠色狠狠色综合 | 深夜影院在线 | 伊人免费视频网 | 国产精品亚洲片在线观看麻豆 | 伊人久久在线 | 欧美一级毛片免费网站 | 色日韩在线 | 成熟性xxxxx| 欧美黑人喷潮水xxxx | 久久免费高清 | 欧美三级一区二区三区 | 精品一区二区三区免费毛片爱 |