2012-01-06 72 views
0
我使用Primefaces的選擇列表如下

的選擇列表:使用Primefaces

在XHTML ....

<p:pickList valueChangeListener="#{bean.handlePickList}" onTransfer="submit()" value="#{bean.currentField.PICK_VALUES" id="myPickVals" var="pickVals" itemLabel="#{pickVals}" itemValue="#{pickVals}"/> 

在豆....

public class MyFields{ 
    public void handlePickList(ValueChangeEvent e) { 
     System.out.println("in handlePickList routine of MyFields.java. "); 
    } 
} 

我得到錯誤....

Property 'handlePickList' not found on type com.myproj.common.MyFields 

如何獲得值pi由PickList的目標列表中的用戶觸發?

+1

這是你的問題的一個錯字'value =「#{bean.currentField.PICK_VALUES」'缺少關閉'}'括號嗎?此外,您是否確認類MyFields被配置爲名爲'bean'的ManagedBean? – 2012-01-06 12:59:30

回答

0

showcase example

提供給列表中的值必須放在primeface的DaulListModel。

在你的bean:

private DualListModel<yourObjectType> listItems; 

public DualListModel<yourObjectType> getListItems() { 
    if(listItems == null){ 
    List<yourObjectType> listItemsSource = new ArrayList<yourObjectType>(); 
    List<yourObjectType> listItemsTarget = new ArrayList<yourObjectType>(); 

    ... populate the source and target accordingly ... 

    listItems= new DualListModel<yourObjectType>(listItemsSource , listItemsTarget); 
    } 
    return listItems; 
} 

public void setListItems(DualListModel<yourObjectType> listItems) { 
    this.listItems = listItems; 
} 

廣場時listItems到JSF標籤的值屬性

value="#{bean.listItems}" 

在提交簡單的訪問,像這樣的選擇列表項:

getListItems().getTarget() 

fyi,你可能需要創建並提供一個轉換器來處理你想要的對象類型。

+0

從頭開始重建項目後問題得到解決 – rags 2013-01-16 12:47:22