J'ai un <h:selectOneMenu>
qui a CategoryHistory
objets avec CategoryHistory
. Je montre seulement le champ Date date
comme itemLabel
. Cela fonctionne mais je veux mettre en forme la date: J'ai créé un convertisseur qui étend javax.faces.convert.DateTimeConverter
et change les champs dans le constructeur. Mais mes dates montrent que dans le format par défaut :(Date du format dans <f: selectItem (s) itemLabel> using 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>
Il ne fonctionne pas lorsque je tente:
<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 a une date de date et id long + ...
Merci
Rien à voir avec le problème réel : pourquoi le convertisseur est-il déclaré '@ ManagedBean'? – BalusC