我想要实现的目标非常简单:
使用枚举数组填充的selectoneMenu。
我定义了一个自定义转换器,我发现了奇怪的事情:
在转换器的方法“getAsString”中,参数值不是数组gestioneFlussiGieRRM.tipiReport的元素,而是数组本身!
我没有找到任何类似的谷歌搜索。
所以:我做错了什么?
提前谢谢。
我的页面
<h:selectOneMenu value="#{gestioneFlussiGieRRM.tipo}" id="reportType">
<f:converter converterId ="tipoReport.converter" />
<f:selectItems value="#{gestioneFlussiGieRRM.tipiReport}" var="t" itemValue="#{t}" itemLabel="#{t.descrizione}" />
</h:selectOneMenu>
我的托管豆:
private TipoReport tipo = TipoReport.StorageFacilityReport;
/* getter and setter for tipo */
/** @return the tipiReport */
public TipoReport[] getTipiReport() {
return TipoReport.values();
}
The Enum
public enum TipoReport {
StorageFacilityReport(1, "Storage Facility Report"), StorageParticipantActivityReport(2,
"Storage Participant Activity Report"), StorageUnavailabilityReport(3, "Storage Unavailability Report");
private int tipo;
private String descrizione;
private TipoReport(int tipo, String descrizione) {
this.tipo = tipo;
this.descrizione = descrizione;
}
public int getTipo() {
return tipo;
}
public String getDescrizione() {
return descrizione;
}
}
修改: 我正在使用JSF 2.1.27 mojarra实现