Java JSF SelectOneMenu标签
在jsf中尝试从下拉列表中选择项时出错Java JSF SelectOneMenu标签,java,jsf-2,jboss7.x,selectonemenu,Java,Jsf 2,Jboss7.x,Selectonemenu,在jsf中尝试从下拉列表中选择项时出错 <h:form id="form"> <h:selectOneMenu value="#{currenccyRatesModel.mainCurrency}" converter="currencyDto" valueChangeListener="#{currencyRatesController.loadCurrencyRates}"> <f:selectItems value=
<h:form id="form">
<h:selectOneMenu value="#{currenccyRatesModel.mainCurrency}" converter="currencyDto"
valueChangeListener="#{currencyRatesController.loadCurrencyRates}">
<f:selectItems value="#{currenccyRatesModel.bankCurrencies}"
var="selectedCurrency" itemValue="#{selectedCurrency}"
itemLabel="#{selectedCurrency.curLabe}" />
<f:ajax render="currencyRatesTable" event="change" />
</h:selectOneMenu>
<h:dataTable id="currencyRatesTable" var="currencyRate"
value="#{currenccyRatesModel.currencyRates}">
<h:column>
<h:outputText value="#{currencyRate.targetCurrency}" />
</h:column>
<h:column>
<h:outputText value="#{currencyRate.ccrRate}" />
</h:column>
</h:dataTable>
</h:form>
web浏览器中引发的错误是无法转换currency@323536要键入的java.lang.String…CurrencyDto
这有什么问题吗,我在以前的项目中使用了相同的东西,并且工作得很好
感谢帮助当您在
h:selectOneMenu
中使用java类作为转换器时,该类(在您的情况下为CurrencyDto)必须实现转换器
接口,换句话说,该类必须包含以下方法:
public Object getAsObject(FacesContext context, UIComponent component, String value)
public String getAsString(FacesContext context, UIComponent component, Object value)
在您的情况下,currenccyRatesModel.main currency
与转换器方法中预期作为参数的对象不兼容