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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Struts2 Date类型转换问题

發(fā)布時(shí)間:2023/12/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2 Date类型转换问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

來源:http://blog.csdn.net/cowboy324/article/details/6704716

? 在Struts2中,一般的內(nèi)置類型都會(huì)在由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換.但是Date類型好像有時(shí)候行,有時(shí)候不行。比如我這次,本地運(yùn)行正常,一上測(cè)試服務(wù)器就不行了。個(gè)人實(shí)驗(yàn)發(fā)現(xiàn)造成這種問題的原因是由于不同的瀏覽器選擇的優(yōu)先顯示頁面的語言不同造成的。一般來說,(zh_CN)中文優(yōu)先的話,struts默認(rèn)只支持2000-1-1這種格式的轉(zhuǎn)換,(en_US)英文優(yōu)先,struts默認(rèn)只支持1/1/2000這種格式的轉(zhuǎn)換。

??????因此要想保證系統(tǒng)一定要正確第對(duì)Date類型進(jìn)行轉(zhuǎn)換,就要寫一個(gè)全局的類型轉(zhuǎn)換類,進(jìn)行Date與String之間的類型轉(zhuǎn)換。

??????這個(gè)轉(zhuǎn)換類是從網(wǎng)上的例子修改所得,這里非常感謝原作者:

?

  • 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")?};?//支持轉(zhuǎn)換的日期格式???
  • ??
  • ????@Override???
  • ????public?Object?convertValue(Map?context,?Object?value,?Class?toType)?{???
  • ????????if?(toType?==?Date.class)?{??//瀏覽器向服務(wù)器提交時(shí),進(jìn)行String?to?Date的轉(zhuǎn)換???
  • ????????????Date?date?=?null;???
  • ????????????String?dateString?=?null;???
  • ????????????String[]?params?=?(String[])value;???
  • ????????????dateString?=?params[0];//獲取日期的字符串???
  • ????????????for?(DateFormat?format?:?ACCEPT_DATE_FORMATS)?{???
  • ????????????????try?{???
  • ????????????????????return?format.parse(dateString);//遍歷日期支持格式,進(jìn)行轉(zhuǎn)換???
  • ????????????????}?catch(Exception?e)?{???
  • ????????????????????continue;???
  • ????????????????}???
  • ????????????}???
  • ????????????return?null;???
  • ????????}???
  • ????????else?if?(toType?==?String.class)?{???//服務(wù)器向?yàn)g覽器輸出時(shí),進(jìn)行Date?to?String的類型轉(zhuǎn)換???
  • ????????????Date?date?=?(Date)value;???
  • ????????????return?new?SimpleDateFormat("yyyy-MM-dd").format(date);//輸出的格式是yyyy-MM-dd???
  • ????????}???
  • ??????????
  • ????????return?null;???
  • ????}??
  • }??
  • ?

    ??????在根目錄下創(chuàng)建xwork-conversion.properties文件,并在里面添加下面語句,注冊(cè)類型轉(zhuǎn)換器
    java.util.Date=com.great.util.DateConverter
    其中的com.great.util.DateConverter是日期轉(zhuǎn)換類包含命名空間的全稱。

    總結(jié)

    以上是生活随笔為你收集整理的Struts2 Date类型转换问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。