我在使用hibernate和struts2  数据库中的时间是
2011-02-02 02:02:02 这样
但是我在页面中显示呢出来时这样的
2011-02-02 02:02:020
后面多了一个0在另外一个项目中多了< .0 >
不知道怎么回事是hibernate的问题呢还是struts2标签使用的时候的问题呢,我感觉都有吧我debug的时候看action中的时间已经是这样的了怎么解决啊????

解决方案 »

  1.   

    使用<s:date>标签,有一个format属性,就是用来输出指定时间格式的
    例如:<s:date name="publishTime" format="yyyy-MM-dd HH:mm:ss" />
    <s:date name="birthday" format="yyyy-MM-dd" />
    yyyy-MM-dd年月日      HH:mm:ss时分秒
    但要注意两个细微的地方:
    1、"yyyy-MM-dd”中的“MM”一定要大写,不然会不起作用或者时间显示不正常
    因为在java中,大M表示“月(Month)",而小m表示"分"(minute)
    2、注意的是后面的"HH"表示24小时制,而如果是"hh",则显示时为12小时制
    楼主可以自己验证下~~
    还有一点:s:date标签使用时,一定要是Date类型。
    如果是String型,数值型等其他类型,可以用以下方法:
    先在resource文件中定义如下:
    format.date_medium={0,date,medium}
    format.date_ymd={0,date,yyyy/MM/dd}
    format.date_time={0,date,yyyy/MM/dd hh:mm}
    然后就可以自由的format了:
    <s:text name="format.date_ymd">
        <s:param name="value" value="salesDate"/>
    </s:text>