大家好我是jsf的新手, 我正在尝试使用素面选项列表 来自(http://www.primefaces.org/showcase/ui/picklist.jsf) 选择器工作正常,
但是当我尝试根据某些事件(如commanbutton click)填充DualModel的sourceList时,selectbox会动态更改事件,选择器列表不会更改值。当我调试时,监听器正在调用正确的方法并将List填充到城市中但在UI中未显示修改后的列表。同样在素数面部例子中,在构造函数中初始化城市。但我不这样做。
我在搜索时最终到了这里 [链接] JSF ajax commandbutton not updating primefaces picklist
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我尝试像pickList这样的piclist的id然后选项列表也没有用修改后的列表渲染 我的豆子
@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);
}}