Podczas używania RichFaces suggestionBox
w jaki sposób można przekazać więcej niż jeden identyfikator lub wartość ze strony z wprowadzonym tekstem do komponentu bean podkładu suggestionBox
. tj: aby wyświetlić listę sugerowanych miast w wybranym państwie? Oto moja metoda autoComplete
.Sugestie richfacesBox przekazujące dodatkowe wartości do komponentu bean fasoli
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;
}
Jak widać istnieje jedna wartość przeszedł ze strony Object
Suggest, która jest tekst h:inputText
(w Facelets 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>
Wcześniej na stronie można wybrać stan, który chciałbym użyć, aby odświeżyć listę przedmieść wyświetlaną w polu sugestii.
może być bardziej wyraźne, co staramy się robić - na przykład, zamieszczając prosty formularz z kontroli, które mają używać i wyliczać sekwencję zdarzeń, gdy użytkownik wprowadza dane. – McDowell
Więc chcesz wybrać stan, to propozycja mogłaby sugerować tylko przedmieścia z tego stanu? Jak wygląda kod wyboru stanu? – Mark