Jsf 从自动完成(Primefaces)组件侦听onSelect事件

Jsf 从自动完成(Primefaces)组件侦听onSelect事件,jsf,primefaces,Jsf,Primefaces,我正在尝试使用属性selectListener从自动完成中收听select事件。 我正在将remoteCommand作为select listener传递。但是selectListener从不调用此remoteCommand方法 我的代码如下: <h:form> <p:autoComplete autocomplete="true" completeMethod="#{search.fetchSuggestions}" value="#{search.selectedS

我正在尝试使用属性
selectListener
从自动完成中收听
select
事件。 我正在将
remoteCommand
作为select listener传递。但是
selectListener
从不调用此
remoteCommand
方法

我的代码如下:

<h:form>
    <p:autoComplete autocomplete="true" completeMethod="#{search.fetchSuggestions}" value="#{search.selectedSuggestion}" selectListener="moveToSelectedPage()"/>

    <p:remoteCommand name="moveToSelectedPage" action="firstPage.xhtml?faces-redirect=true" />
</h:form>


我所要做的就是,在用户从autocomplete提供的建议中选择了一个特定的建议项之后,导航到另一个页面。

属性
selectListener
应该指的是一个托管bean方法,它使用
SelectEvent
并返回
void
,而不是指一些任意的JavaScript函数

另见


查看PrimeFaces 3.5版,似乎自动完成组件不再具有
selectListener
属性。BalusC答案中的链接指向正确的位置,其中显示了在
中包含
标记的新方法:

<p:autoComplete id="acSimple" value="#{autoCompleteBean.txt1}" completeMethod="#{autoCompleteBean.complete}">  
  <p:ajax event="itemSelect" listener="#{autoCompleteBean.handleSelect}" update="messages" />  
</p:autoComplete>

public void handleSelect(SelectEvent event) {  
    // ... 
}
<p:autoComplete id="acSimple" value="#{autoCompleteBean.txt1}" completeMethod="#{autoCompleteBean.complete}">  
  <p:ajax event="itemSelect" listener="#{autoCompleteBean.handleSelect}" update="messages" />  
</p:autoComplete>