【发布时间】:2012-06-16 20:21:17
【问题描述】:
我正在使用 JSF 2.0 和 RichFaces 4。对于日期输入,我尝试强制使用模式 mm/dd/yyyy。
<h:inputText value="#{bean.startDate}">
<f:convertDateTime pattern="mm/dd/yyyy"/>
</h:inputText>
当用户实际输入带有 2 位数年份的日期时,例如 mm/dd/yy,转换器会自动将年份转换为 4 位数。这是不希望的。在不创建自定义转换器的情况下如何阻止它这样做?这是 JSF 转换器中的错误吗?
【问题讨论】:
-
<f:convertDateTime/>使用java.text.SimpleDateFormat,因此它将使用您通过pattern属性指定的任何SimpleDateFormat 兼容模式。如果您想要两位数的年份,请使用mm/dd/yy。如果您希望该字段支持多种格式,那么标准的<f:convertDateTime/>转换器不是您想要的。我不知道有任何多格式转换器,但我不明白为什么不能完成。不过对我来说这听起来有点好笑。将年份转换为 4 位数年份有什么问题?