【发布时间】:2013-03-31 17:55:09
【问题描述】:
我想从选择一个菜单中选择一个自定义对象。它既不显示错误也不显示值。我应该怎么办?
我的 xhtml 文档:
<h:panelGrid columns="2">
<p:outputLabel value="" />
<p:selectOneMenu id="CurrencyMenu" value="#{CurrencyMB.currency}" >
<f:selectItem itemLabel="-- Select Currency--" itemValue="#{null}"/>
<f:selectItems value="#{CurrencyMB.currencyList}" var="currency" itemValue="#{currency.currencyId}" itemLabel="#{currency.currencyName}" >
</f:selectItems>
<p:ajax update="currencyOut" />
</p:selectOneMenu>
<p:outputLabel value="Currency Id : #{CurrencyMB.currency.currencyId}" id="currencyOut" />
</h:panelGrid>
我的 managedBean 类:
@ManagedBean(name = "CurrencyMB")
@RequestScoped
public class CurrencyManagedBean {
private Currency currency;
private List<Currency> currencyList;
public Currency getCurrency() {
return currency;
}
public void setCurrency(Currency currency) {
this.currency = currency;
}
public List<Currency> getCurrencyList() {
currencyList = new ArrayList<Currency>();
currencyList.addAll(getiCurrencyService().getCurrencies());
return currencyList;
}
public void setCurrencyList(List<Currency> currencyList) {
this.currencyList = currencyList;
}
}
【问题讨论】:
-
您需要一个自定义转换器。 Mkyong 提供了一个例子:mkyong.com/jsf2/custom-converter-in-jsf-2-0
-
查看这个答案stackoverflow.com/a/22002268/3284943,了解如何在没有转换器的情况下完成此操作。
标签: jsf jsf-2 selectonemenu