richfaces suggestionBox将附加值传递给辅助bean

Mar*_*ark 5 java jsf richfaces

使用RichFaces时,suggestionBox如何从页面传递多个id或值,并将文本输入传递给suggestionBox辅助bean.即:显示选定州内的建议城市列表?这是我的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;
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,有一个值从页面传递,Object建议,这是h:inputText(在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>
Run Code Online (Sandbox Code Playgroud)

在页面的前面,您可以选择一个州,我想用它来削减建议框显示的郊区列表.

Mar*_*ark 0

您看过这个 RichFaces suggestBox演示了吗?示例下有查看源代码的链接。

编辑:

听起来您需要在用户在 suggestBox 中键入内容之前获取 bean 中的状态值。我将使用 RichFaces ajax 支持将状态值传递给 bean,以便在调用自动​​完成方法时具有用户在页面上选择的状态来填充郊区列表。