欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Struts2講義33

系統 1738 0

7.2 ? 類型轉換發生異常處理方案

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

7.2.1 ? Struts2 自帶異常提示

技術要點

Struts2 自帶對于類型轉換發生異常錯誤時候提示。

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

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

演示代碼

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

Struts2講義33

7.7 ? 各種基本類型數據輸入

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

Struts2講義33

7.8 ? 價格類型輸入錯誤圖

引入 Struts2 標簽 fielderror 的數據輸入 JSP 代碼:

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

引入標簽后類型轉換錯誤的提示如圖 7.9

Struts2講義33

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

代碼解釋

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

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

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

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

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

技術要點

定義局部屬性文件,在該文件中定義類型轉換發生異常時的錯誤提示。

局部屬性文件定義。

演示代碼

局部屬性文件代碼:

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

?

異常錯誤提示如圖 7.10

Struts2講義33

7.10 ? 價格類型輸入錯誤圖

代碼解釋

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

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

技術要點

定義全局屬性文件,在該文件中定義類型轉換發生異常時的錯誤提示。

全局屬性文件定義。

演示代碼

全局屬性文件代碼:

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

?

異常錯誤提示如圖 7.11

Struts2講義33

7.11 ? 價格類型輸入錯誤圖

代碼解釋

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

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

Struts2講義33


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一级aaaaaa片毛片在线播放 | 亚洲AV在线无码播放毛片浪潮 | 国产精品视频26uuu | 免费黄色小视频 | 91精品综合久久久久久五月天 | 亚洲www在线 | 日韩成人在线视频 | www91| 欧美激情一区二区三级高清视频 | A片太大太长太深好爽A片视频 | www日日日 | 国产一区二区三区在线 | 亚洲欧美国产高清 | 一级毛片一级毛片一级毛片 | 亚洲综合区 | 久久久久久国产精品mv | 色综合国产 | 亚洲福利| 免费高清seyeye在线视频观看 | 亚洲 欧洲 偷拍 校园 另类 | 色黄网站在线观看 | 2022国产成人精彩在线视频 | 国产精品久久久久影视青草 | 亚洲国产品综合人成综合网站 | 一级视频在线播放 | 国产91成人精品亚洲精品 | 一级视频在线播放 | 99热97| 久久久久久免费播放一级毛片 | 一区二区三区视频在线 | 国产精品精品 | 中文字幕日韩欧美一区二区三区 | 亚洲看片 | 亚洲国产精品久久久 | 亚洲美女精品 | 色欧美片视频在线观看 | 久久久久久亚洲 | 香蕉视频在线观看免费国产婷婷 | 欧美在线网站 | 丁香5月婷婷 | 作爱视频免费观看 |