Привет всем, я новичок в jsf, я пытаюсь использовать список выбора основных лиц из (http://www.primefaces.org/showcase/ui/picklist.jsf) Сборщик работает нормально,
Но когда я пытаюсь заполнить sourceList DualModel на основе определенного события, такого как щелчок по кнопке, событие динамического изменения поля выбора, список выбора не меняет значения. Когда я отлаживал, Listener вызывает правильный метод и заполняет список городами, но в пользовательском интерфейсе измененный список не отображается. Также в примере с простыми лицами в конструкторе инициализируются города. Но я этого не делаю.
Я оказался здесь, когда искал [ссылку]JSF ajax commandbutton не обновляет список выбора простых лиц< /а>
Here's my xhtml code
<p:commandButton value="Ajax Submit" update="@form" id="ajax"
actionListener="#{codetype.PopulateCodes}" styleClass="ui-priority-primary"/>
<p:pickList id="pickList" value="#{pickListBean.cities}" var="city"
itemLabel="#{city}" itemValue="#{city}" />
Здесь вместо @form я попробовал идентификатор piclist, такого как pickList, тогда также список выбора не отображается с измененным списком моего компонента
@ManagedBean(name="codetype")
@ViewScoped
public class CodetypeBean implements Serializable {
public CodetypeBean () {
// Cities
List<String> citiesSource = new ArrayList<String>();
List<String> citiesTarget = new ArrayList<String>();
citiesSource.add("Istanbul"); citiesSource.add("Ankara");
citiesSource.add("Izmir"); citiesSource.add("Antalya");
citiesSource.add("Bursa");
cities = new DualListModel<String>(citiesSource, citiesTarget);
}
public void PopulateCodes() {
List <String>changedListSource= new ArrayList<String>();
//in real time some logic to get the list from db
//manually adding some list
changedListSource.add("PRO-1");
changedListSource.add("PRO-2");
changedListSource.add("PRO-3");
cities = new DualListModel<String>(changedListSource, changedListTarget);
}}