有关Struts2 Date类型转换的问题

 在使用Struts2开发Web应用时,如果使用Date类型数据时,Struts2会调用Date转换器来处理页面的Date字符串到Date类型的转换,在阅读了Struts2的Code后,发现Date转换器使用的日期格式都不是中文日期格式,而我们的日期字符串格式为2008-05-26 12:00,当找不到对应的日期格式时,Struts2会用短日期格式来处理(yy-MM-dd),这时如果我们需要长日期格式的数据,在日期转换后是拿不到准确数据的。 (注意如果使用Window 和 服务器Linux上也许会有不同,一定要注意

解决办法如下:

<s:textfield name="model.startDate"> 
    <s:param name="value">
       <s:date name="model.startDate"/>
    </s:param> 
</s:textfield> 


也可以 
<input type="text" name="person.birthday" value="<s:date name="person.birthday"   format="yyyy-MM-dd" />" /> 

(注意好像默认是使用 yyyy-MM-dd 格式,如果不配置struts.properties 则 format里 为 yyyy/MM/dd, yyyyMMdd 等均不支持)
总之借助于 <s:date> 来对日期格式化输出

struts.properties 中设置 struts.date.format=yyyy-MM-dd也只能控制到<s:date>标签 

猜你喜欢

转载自ollevere.iteye.com/blog/1336825
今日推荐