0

我在使用建议框时遇到了一些问题,我将粘贴一些代码来显示我的问题:(Richfaces: 3.3.3) xhtml

<h:inputText id="input" value="#{CreateUser.cityName}" size="40"/>                  
<rich:suggestionbox width="290" suggestionAction="#{CreateUser.suggest}" var="city" for="input">
    <h:column>
       <h:outputText value="#{city.name}"/>
    </h:column>
    <h:column>
       <h:outputText value="#{city.state.name}" />
    </h:column>
    <h:column>
       <h:graphicImage value="#{city.state.country.flagImage}" />
    </h:column>
</rich:suggestionbox>       

Bean 这是我的建议方法。

public ArrayList<CityType> suggest(Object input) {
   String userInput = (String) input;
   ArrayList<CityType> ret = new ArrayList<CityType>();

   for (CityType state : cityTypes) {
      if ((state.getName().toLowerCase()).startsWith(userInput.toLowerCase())) {
         ret.add(state);
      }
    }
   return ret;
}

我得到这个:

/account/createUser.xhtml: Property 'suggest' not found on type com.project.web.CreateUser_$$_javassist_seam_9

谢谢你的时间!!!

4

1 回答 1

0

RichFaces 3 文档中,您的函数应该返回 aList而不是 a ArrayList,将您的代码更改为:

public List<CityType> suggest(Object input) {
    String userInput = (String) input;
    List<CityType> ret = new ArrayList<CityType>();

    for (CityType state : cityTypes) {
        if ((state.getName().toLowerCase()).startsWith(userInput.toLowerCase())) {
            ret.add(state);
        }
    }
    return ret;
}
于 2012-05-17T13:47:52.210 回答