日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Struts2下创建自定义类型转换器(表单中日期的处理)

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2下创建自定义类型转换器(表单中日期的处理) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在表單提交中需要有日期的輸入,默認的Struts2處理機制可能不能滿足需求,需要自定義一下類型轉換器。如:
String----->java.util.Date:輸入
java.util.Date------>String:輸出:查詢顯示,輸出錯誤回顯
Struts2會按照**本地默認(與操作系統的區域有關yyyy-MM-dd)**格式自動轉換
默認:yyyy-MM-dd-------java.util.Date轉換
目標:實現MM/dd/yyyy<------>java.util.Date互相轉換
類型轉換器的根源、
1、在OGNL中有一個接口為TypeConverter
2、在WebWork中DefaultTypeConverter 實現了OGNL中的TypeConverter接口
3、在Struts2中的StrutsTypeConverter繼承了WebWork中的DefaultTypeConverter類。
自定義類型轉換器
1、編寫一個類,繼承StrutsTypeConverter

import org.apache.struts2.util.StrutsTypeConverter; /*** 自定義類型轉化*/ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map;//實現MM/dd/yyyy 與date進行轉換(輸入日期) public class MyDateConverter extends StrutsTypeConverter {SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");/*** String---->其他類型Date* @param map* @param values 用戶輸入的值* @param aClass 目標類型* @return*/@Overridepublic Object convertFromString(Map map, String[] values, Class aClass) {if (aClass != Date.class) {throw new RuntimeException("你輸入的不是日期,請選擇別的轉換器");}if (values == null || values.length == 0) {throw new IllegalArgumentException("沒有數據");} else {String sDate = values[0];if (!sDate.trim().equals("")) {try {return df.parse(sDate);} catch (ParseException e) {throw new RuntimeException(e);}}}return null;}/*** 其他類型Date---->string** @param map* @param o 對象* @return*/@Overridepublic String convertToString(Map map, Object o) {if (!(o instanceof Date)) {throw new RuntimeException("你的數據不是日期,請選擇別的轉換器");}Date date = (Date) o;return df.format(date);} }

2、注冊類型轉換器
a、局部類型轉換器:只為當前動作使用
1、動作類作為模型:
2、動作類和模型分開:(經常用):
在模型所在的包中,建立以下配置文件(javabean的名稱保持一致)
b、全局類型轉換器:所有動作使用
在構建路徑頂端(src路徑下),建立固定名稱為xwork-conversion.properties的配置文件
內容為
java.util.Date=com.itheima.converter.MyDateConverter

二、類型轉換失敗后的提示
a、轉換失敗,會自動轉到一個name=input的邏輯視圖,一般指向輸入的那個頁面,目的回顯(建議使用struts2的表單標簽)
b、錯誤消息提示中文版本
前提:動作類繼承ActionSupport才能使用

在自定義的類型轉換器中,異常必須拋出不能捕獲,converterError會處理該異常,然后轉入名為input的邏輯試圖
在Action所在地包中,創建ActionName.properties,在局部資源文件中配置提示信息 invalid.fieldvalue.屬性名=錯誤信息
在input邏輯試圖對應的jsp頁面中,通過<s:fielderror/>輸出類型轉換信息。
如圖

該功能是由一個叫做conversionError攔截器負責處理的。

總結

以上是生活随笔為你收集整理的Struts2下创建自定义类型转换器(表单中日期的处理)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男女插插插视频 | 含羞草一区二区 | 国产精品色呦呦 | 99九九久久 | 落日余晖| 久久免费高清 | 国产精品入口日韩视频大尺度 | 亚洲人免费视频 | 变态另类丨国产精品 | 我们俩电影网mp4动漫官网 | 久久久激情网 | 国产精品老熟女视频一区二区 | 久久久无码一区二区三区 | 91爱看| 天天爱天天舔 | 男人天堂一区 | 丰满人妻妇伦又伦精品国产 | 伊人365影院| 91在线免费观看网站 | 久久久精品久久久久 | 欧美日韩亚洲国产综合 | 欧美日韩色图片 | www.xxxx欧美 | yy色综合| 黄色网战大全 | 欧美精品日韩少妇 | 国产精品8888| 一区二区三区欧美在线 | 91麻豆精品国产91久久久久久久久 | 99热热热 | 国产只有精品 | 色综合五月婷婷 | 日韩午夜激情电影 | 狠狠爱综合网 | 中文字幕日韩欧美一区二区三区 | 香蕉视频在线视频 | www国产亚洲精品 | 色婷婷中文字幕 | 伊人久久影院 | 天堂网www. | 国产一区二区三区四区三区四 | 伊人久久久久噜噜噜亚洲熟女综合 | 一区二区三区视频网 | 免费看的一级片 | 美国一级大黄一片免费中文 | 97伊人| 特级淫片裸体免费看冫 | 一区二区三区国产在线 | 中国少妇色| 操极品 | 久久伊人影视 | www.成人网.com | 熟女少妇内射日韩亚洲 | 成人精品视频在线观看 | 亚洲成年 | 蜜桃av噜噜一区二区三区网址 | www..com色| 中文字幕高清在线 | 免费在线你懂的 | 第一宅男av导航入口 | 国产一av| 国产成人无码精品久在线观看 | 国产高潮又爽又无遮挡又免费 | 久久久久久久久久久丰满 | 狠狠干成人 | 少妇人妻偷人精品无码视频新浪 | 亚洲精品在线观看免费 | 成人免费高清在线观看 | 噜噜噜亚洲色成人网站 | 亚洲精品社区 | 亚洲一区久久 | 91在线一区 | 黄色在线视频观看 | 久久中文一区 | 国产成人无码性教育视频 | www.欧美精品 | 嫩草免费视频 | www.性欧美 | 国产精品无码中文字幕 | 老司机成人网 | 亚洲精选免费 | 色天天干| 国产精品免费一区二区三区都可以 | 黄色污污视频 | 特级毛片在线观看 | 玉女心经是什么意思 | 亚洲黄色一级 | 美脚の诱脚舐め脚视频播放 | a在线天堂 | 日韩欧美视频一区二区 | 在线观看国产亚洲 | 欧美一区二区三区色 | 一区二区在线视频播放 | 亚洲视频在线一区二区 | 久久中文字幕一区二区 | 欧美 日韩 国产 成人 在线 91 | 特级黄色录像 | 国产精品久久久久无码av | 日韩在线免费视频观看 |