RichFaces を使用する場合、テキスト入力を含むページからバッキング BeansuggestionBox
に複数の ID または値を渡す方法を教えてください。suggestionBox
例: 選択した州内の提案された都市のリストを表示するには? これが私のautoComplete
方法です。
public List< Suburb > autocomplete(Object suggest)
{
String pref = (String) suggest;
ArrayList< Suburb > result = new ArrayList< Suburb >();
Iterator< Suburb > iterator = getSuburbs().iterator();
while( iterator.hasNext() )
{
Suburb elem = ((Suburb) iterator.next());
if( (elem.getName() != null && elem.getName().toLowerCase().indexOf( pref.toLowerCase() ) == 0) || "".equals( pref ) )
{
result.add( elem );
}
}
return result;
}
ご覧のとおり、ページから渡された 1 つの値があり、それは( faceLets 内の)Object
のテキストです。h:inputText
m:textFormRow
<m:textFormRow id="suburb" label="#{msgs.suburbPrompt}"
property="#{bean[dto].addressDTO.suburb}"
required="true" maxlength="100" size="30" />
<rich:suggestionbox height="200" width="200" usingSuggestObjects="true"
suggestionAction="#{suburbsMBean.autocomplete}" var="suburb" for="suburb"
fetchValue="#{suburb.name}" id="suggestion">
<h:column>
<h:outputText value="#{suburb.name}" />
</h:column>
</rich:suggestionbox>
ページの前半で、提案ボックスに表示される郊外のリストを絞り込むために使用したい州を選択できます。