【发布时间】:2011-01-10 09:35:18
【问题描述】:
我有一个<h:selectOneMenu>,其中包含<f:selectItems> 和CategoryHistory 对象。我只将Date date 字段显示为itemLabel。
这有效,但我想格式化日期:
我创建了一个扩展 javax.faces.convert.DateTimeConverter 的转换器并更改了构造函数中的字段。但我的日期仅以默认格式显示:(
DateAndTimeConverter.java
import javax.faces.bean.ManagedBean;
import javax.faces.convert.Converter;
import javax.faces.convert.DateTimeConverter;
import javax.faces.convert.FacesConverter;
@FacesConverter(value = "dateAndTimeconverter")
@ManagedBean
public class DateAndTimeConverter extends DateTimeConverter implements Converter {
public DateAndTimeConverter(){
this.setDateStyle("short");
}
xhtml
<h:selectOneMenu valueChangeListener="#{admin.categoryHistoryListener}"
onchange="submit()" value="#{admin.categoryHistory.id}" converter="#{dateAndTimeconverter}">
<f:selectItems value="#{admin.categoryHistories}" var="n"
itemValue="#{n.id}" itemLabel="#{n.date}">
</f:selectItems>
</h:selectOneMenu>
当我尝试时它也不起作用:
<h:selectOneMenu valueChangeListener="#{admin.categoryHistoryListener}"
onchange="submit()" value="#{admin.categoryHistory.id}">
<f:converter converterId="dateAndTimeconverter"/>
<f:selectItems value="#{admin.categoryHistories}" var="n"
itemValue="#{n.id}" itemLabel="#{n.date}">
</f:selectItems>
</h:selectOneMenu>
CategoryHistory 有一个 Date 日期和 Long id +...
谢谢
【问题讨论】:
-
与实际问题无关:转换器为什么声明
@ManagedBean?
标签: jsf label converter selectonemenu date-formatting