2012-01-06 3 views
0

Я использую PickList из Primefaces следующим образом:Использование PickList из 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 настроен как ManagedBean с именем 'bean'? –

ответ

0

за showcase example:

Значения, указанные в списке должны быть помещены в DaulListModel primeface в.

В вашем боба:

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

Смежные вопросы