richfaces suggestionBox passing additional values to backing bean

Posted by Martlark on Stack Overflow See other posts from Stack Overflow or by Martlark
Published on 2009-05-24T05:44:32Z Indexed on 2010/04/28 15:23 UTC
Read the original article Hit count: 225

Filed under:
|
|

When using the rich faces suggestionBox how can you pass more than one id or value from the page with the text input to the suggestionBox backing bean. ie: to show a list of suggested cities within a selected state? Here is my autoComplete method.

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;
}

As you can see there is one value passed from the page, Object suggest, which is the text of the h:inputText (in the 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>

Earlier in the page you can select a state which I'd like to use to pare down the list of suburbs that the suggestion box displays.

© Stack Overflow or respective owner

Related posts about richfaces

Related posts about jsf