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