主要面部选择列表不更新

时间:2013-03-06 06:17:41

标签: jsf-2 primefaces

  <h:panelGrid columns="3" >
               <p:inputText styleClass="textbox" id="search" style="margin-top:30px;width: 340px !important;" value="#{testBean.name}"/>
               <p:watermark for="search" value="searchText" />
               <p:commandButton value="search" process="@form" styleClass="btn-primary" style="margin-top:18px;" action="#{testBean.search}" update="aaa"/>
  </h:panelGrid>


    <p:pickList id="aaa" value="#{testBean.searchList}" var="contact" 
                itemLabel="#{contact.firstName}" itemValue="#{contact}" rendered="true"  >
           <!--     <p:ajax event="transfer" listener="#{contactManagedBean.onTransfer}" />-->  
    </p:pickList>

和行动方法是

public DualListModel<ContactBean> search(){

            String searchString= getSearch();

                contacts= manageConatctDelegate.search(searchString);

                List<ContactBean> contactTarget= new ArrayList<ContactBean>();
                contactsSource.add(contacts.get(0));
                contactList = new DualListModel<ContactBean>(contactsSource,contactTarget);                         

        return contactList;
    }

我正在研究选择列表示例。我有一个输入框,我可以搜索名称。我有一个方法来搜索将检索联系对象的字符串。调用搜索方法后,我正在更新列表。我检查了列表,列表正在联系。但是页面上的选择列表仍然是空白。

1 个答案:

答案 0 :(得分:0)

返回DualListModel<ContactBean>想要做什么?它不能以这种方式完成。您的方法应该是void,您应该将bean的searchList属性设置为contactList。事实上你应该:

private DualListModel<ContactBean> searchList;

public void setSearchList(DualListModel<ContactBean> searchList) {
  this.searchList = searchList;
}

public DualListModel<ContactBean> getSearchList() {
  return searchList;
}

并在search方法中设置此属性:

searchList = new DualListModel<ContactBean>(contactsSource,contactTarget);