2013-02-07 48 views
3

我正在使用Primefaces 3.4.2自動完成。Primefaces自動完成事件itemSelect監聽器值null ManagedBean

在ManagedBean當我選擇一個行作爲我輸入的字符自動完成,我沒能獲得在法的價值handleSelect(SelectEvent event) {

可能是什麼原因呢?理想情況下,我想填充或填充jsf頁面中的其他列,當我從自動完成值中選擇一行時。用於自動完成

JSF代碼

<p:autoComplete value="#{empMB.selectedEmployee}" 
          id="basicPojo" minQueryLength="3" 
          completeMethod="#{myMB.complete}" var="p" 
          itemLabel="#{p.empName}" 
          converter="#{employeeNameConverter}" 
          forceSelection="true" >       
          <p:ajax event="itemSelect" 
          listener="#{myMB.handleSelect}" /> 

ManagedBean方法

public void handleSelect(SelectEvent event) { 
String value = (String) event.getObject(); 
System.out.println("selected "+value); 

回答

2

的原因是你沒有提供itemValuep:autoComplete組件屬性。

+0

Partlov在primefaces [示例](http://www.primefaces.org/showcase/ui/autoCompleteSelect.jsf)中,沒有定義itemValue屬性。 – user75ponic

+0

除了itemValue屬性轉換器是必須的嗎? – user75ponic

+0

Partlov是的你是對的,我添加爲'itemValue =「#{p.empName}」',我可以在ManagedBean中獲得選定的值 – user75ponic