0
  <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;
    }

私はピックリストの例に取り組んでいます。名前を検索できる入力ボックスがあります。連絡先オブジェクトを取得する文字列を検索するメソッドがあります。検索メソッドを呼び出した後、リストを更新しています。リストを確認しましたが、リストから連絡が来ています。しかし、ピックリストはページ上でまだ空白です。

4

1 に答える 1

0

戻って何をしたいDualListModel<ContactBean>ですか?そのようにすることはできません。メソッドはである必要があり、beanのプロパティをにvoid設定する必要があります。実際には、次のものが必要です。searchListcontactList

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);
于 2013-03-06T08:12:52.793 に答える