如何更新某些事件的primefaces选项列表,如命令按钮单击,选择框更改等)?

时间:2014-02-01 14:12:32

标签: ajax jsf jsf-2 primefaces picker

大家好我是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);

    }}

0 个答案:

没有答案