我有一個<h:selectOneMenu>
有<f:selectItems>
與CategoryHistory
對象加載在它。我只顯示Date date
字段爲itemLabel
。 這樣的工作,但我想格式化日期: 我創建了一個轉換器,擴展javax.faces.convert.DateTimeConverter
並更改構造函數中的字段。但我只能追溯到默認格式:(格式日期在<f:selectItem(s)itemLabel>使用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有一個日期日期和長ID + ...
謝謝
無關的實際問題:爲什麼轉換器聲明'@ ManagedBean'? – BalusC