Jsf 在

Jsf 在,jsf,primefaces,Jsf,Primefaces,iam使用primefaces autocomplete,工作正常,但如果iam设置默认值,则会出现错误。 以下是我的Xhtml代码: <p:autoComplete id="parametername" required="true" requiredMessage="Parameter Name can't be blank" maxResults="5" value="#{manageA

iam使用primefaces autocomplete,工作正常,但如果iam设置默认值,则会出现错误。 以下是我的Xhtml代码:

<p:autoComplete id="parametername" required="true"
                requiredMessage="Parameter Name can't be blank" 
                maxResults="5"
                value="#{manageAppParaValuesTO.appParameterValuesBean.parameterName}" 
                tabindex="1" forceSelection="true"
                styleClass="select-area-150  CommoninputText input_text_style1" cache="enabled"
                dropdown="true"
                completeMethod="#{manageAppParaValuesTO.completeDropDownParameter}"
                disabled="#{manageAppParaValuesTO.deleteFlag or manageAppParaValuesTO.viewFlag or manageAppParaValuesTO.editFlag}"
                var="field" itemValue="#{field.parameterName}" 
                itemLabel="#{field.parameterName}">

您需要一个转换器。请参阅…您在哪里设置默认值?
public List<ApplicationParameterValuesEntityTO> completeDropDownParameter(
        String like) {
    System.out.println("-----------------> completeParameter ");
    newAppParameterNameDropDown = new ArrayList<ApplicationParameterValuesEntityTO>();
    for(ApplicationParameterValuesEntityTO appValueEntity : appParameterNameDropDown){
        System.out.println(" Like "+like+"-------> appValueEntity.getParameterName "+appValueEntity.getParameterName());
        if(appValueEntity.getParameterName().toUpperCase().matches(like+".*") || appValueEntity.getParameterName().toLowerCase() .matches(like+".*")){
            System.out.println("-------->"+appValueEntity.getParameterName());
            newAppParameterNameDropDown.add(appValueEntity);
        }
    }
    return newAppParameterNameDropDown;
}
javax.el.PropertyNotFoundException: itemLabel="#{field.parameterName}": Property 'parameterName' not found on type java.lang.String