生活随笔
收集整理的這篇文章主要介紹了
Struts2 Date类型转换问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
來源:http://blog.csdn.net/cowboy324/article/details/6704716
? 在Struts2中,一般的內置類型都會在由系統自動進行轉換.但是Date類型好像有時候行,有時候不行。比如我這次,本地運行正常,一上測試服務器就不行了。個人實驗發現造成這種問題的原因是由于不同的瀏覽器選擇的優先顯示頁面的語言不同造成的。一般來說,(zh_CN)中文優先的話,struts默認只支持2000-1-1這種格式的轉換,(en_US)英文優先,struts默認只支持1/1/2000這種格式的轉換。
??????因此要想保證系統一定要正確第對Date類型進行轉換,就要寫一個全局的類型轉換類,進行Date與String之間的類型轉換。
??????這個轉換類是從網上的例子修改所得,這里非常感謝原作者:
?
package?com.great.util;?? ?? import?java.text.DateFormat;?? import?java.text.SimpleDateFormat;?? import?java.util.Date;?? import?java.util.Map;?? ?? import?com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;?? ?? public?class?DateConverter?extends?DefaultTypeConverter?{?? ????private?static?final?DateFormat[]?ACCEPT_DATE_FORMATS?=?{?? ????????????new?SimpleDateFormat("dd/MM/yyyy"),?? ????????????new?SimpleDateFormat("yyyy-MM-dd"),?? ????????????new?SimpleDateFormat("yyyy/MM/dd")?};?//支持轉換的日期格式??? ?? ????@Override??? ????public?Object?convertValue(Map?context,?Object?value,?Class?toType)?{??? ????????if?(toType?==?Date.class)?{??//瀏覽器向服務器提交時,進行String?to?Date的轉換??? ????????????Date?date?=?null;??? ????????????String?dateString?=?null;??? ????????????String[]?params?=?(String[])value;??? ????????????dateString?=?params[0];//獲取日期的字符串??? ????????????for?(DateFormat?format?:?ACCEPT_DATE_FORMATS)?{??? ????????????????try?{??? ????????????????????return?format.parse(dateString);//遍歷日期支持格式,進行轉換??? ????????????????}?catch(Exception?e)?{??? ????????????????????continue;??? ????????????????}??? ????????????}??? ????????????return?null;??? ????????}??? ????????else?if?(toType?==?String.class)?{???//服務器向瀏覽器輸出時,進行Date?to?String的類型轉換??? ????????????Date?date?=?(Date)value;??? ????????????return?new?SimpleDateFormat("yyyy-MM-dd").format(date);//輸出的格式是yyyy-MM-dd??? ????????}??? ?????????? ????????return?null;??? ????}?? }??
?
??????在根目錄下創建xwork-conversion.properties文件,并在里面添加下面語句,注冊類型轉換器
java.util.Date=com.great.util.DateConverter
其中的com.great.util.DateConverter是日期轉換類包含命名空間的全稱。
總結
以上是生活随笔為你收集整理的Struts2 Date类型转换问题的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。