rich:找不到suggestionbox属性

时间:2012-05-16 23:26:17

标签: jsf richfaces

我在使用建议箱时遇到一些问题,我会粘贴一些代码来显示我的问题: (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>       

这是我建议的方法。

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

你的时间!

1 个答案:

答案 0 :(得分:0)

RichFaces 3 documentation开始,您的函数应该返回List而不是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;
}