隨筆-112  評(píng)論-73  文章-0  trackbacks-0

          JSF2.0 日期轉(zhuǎn)換

          Jsf RI 包提供默認(rèn)的日期轉(zhuǎn)換器 <f: convertDateTime /> 但在使用時(shí)發(fā)現(xiàn)從數(shù)據(jù)讀出數(shù)據(jù)顯示的時(shí)候會(huì)少一天,比如:數(shù)據(jù)庫(kù)中的日期是2010-4-24 在經(jīng)過(guò)轉(zhuǎn)換器前還是這個(gè)日期,但轉(zhuǎn)換后顯示到界面上時(shí)就會(huì)顯示2010-4-23 ,無(wú)論設(shè)置格式還是時(shí)區(qū)都無(wú)效。

          既然不好用就自定義一個(gè)轉(zhuǎn)換器,好在JSF2.0 自定義轉(zhuǎn)換器也非常的方便了

          整個(gè)代碼如下:

          import java.text.ParseException;
          import java.util.Date;

          import javax.faces.component.UIComponent;
          import javax.faces.context.FacesContext;
          import javax.faces.convert.Converter;
          import javax.faces.convert.FacesConverter;

          import cn.xiangyunsoft.utils.DateUtils;
          import cn.xiangyunsoft.utils.StringUtils;

          @FacesConverter(value 
          = "dateConverter")
          public class ConvertDate implements Converter {

              
          public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
                  
          if (StringUtils.isNotEmpty(arg2)) {
                      
          try {
                          
          return DateUtils.parseDate(arg2);
                      } 
          catch (ParseException e) {
                          e.printStackTrace();
                      }
                  }
                  
          return null;
              }

              
          public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
                  
          if (arg2!=null){
                      
          return DateUtils.format((Date) arg2, "yyyy-MM-dd");
                  }
                  
          return null;
              }

          }

          其中DateUtils 類(lèi)就是常用的日期和字符串的轉(zhuǎn)換方法。

          XHTML 使用時(shí)如下:

          <h:inputText id="#{cc.attrs.id}" value="#{cc.attrs.value}"
                  onkeydown
          ="ctlent(event);" styleClass="#{cc.attrs.styleClass}">
                  
          <!--<f:convertDateTime pattern="yyyy-MM-dd" locale="zh-CN"/>-->
                  
          <f:converter converterId="dateConverter" />
              
          </h:inputText>



          posted on 2010-04-24 15:05 Libo 閱讀(1363) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): JSF 2

          評(píng)論:
          # re: JSF2.0 Converter[未登錄](méi) 2013-04-30 07:30 |
          能不能發(fā)一下DateUtils.java
          StringUtils.java 代碼啊

            回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 怀柔区| 武城县| 雷山县| 清原| 习水县| 临洮县| 如东县| 望奎县| 黄骅市| 辛集市| 南部县| 南澳县| 达拉特旗| 高雄县| 德保县| 含山县| 阿克苏市| 广水市| 米泉市| 铜陵市| 龙陵县| 宣武区| 嘉祥县| 祁阳县| 渭源县| 中西区| 广宗县| 临汾市| 涞源县| 兴和县| 孟村| 长武县| 富顺县| 仁化县| 龙海市| 民县| 张北县| 仁布县| 余干县| 洪洞县| 蒲江县|