2011-12-16 52 views
0

我使用JSF 2.0,PF M3和GF 3.1。附加到autoComplete

我在電子郵件中有一個自動完成控件。只要我從下拉列表中選擇自動完成控件提供的建議,它就會替換控件中的舊值。我怎樣才能使它工作,以便每次進行新的選擇時,選定的文本都會附加到先前選擇的文本。

我的看法文件是:

<p:autoComplete id="emailForm" 
value="#{mail.emailTo}" 
required="true" 
completeMethod="#{myController.complete}" 
var="p" 
itemLabel="#{p.lastName} &lt;#{p.email}&gt;" 
itemValue="#{p}" 
size="60"> 
<p:ajax event="itemSelect" listener="#{myController.handleSelect}"/> 
</p:autoComplete> 

所有幫助表示讚賞。

感謝

回答

0

你是什麼selected text is appended to the previously selected text意味着什麼?

如果我理解正確,這不是一個好習慣:意味着你的complete methodmyController.complete)有一個錯誤的實現。您可以修改您的代碼...

無論如何,您可以通過將值mail.emailTo與從DB返回的結果附加到myController.complete方法處理的結果附加輸入的鍵(文本)作爲建議。

更新

首先,你應該考慮升級到RC1,然後再閱讀手冊(http://www.primefaces.org/documentation.html),這樣你就可以瞭解simple autocompleteautocomplete with pojo support之間的差異;

在使用自己的對象(而不僅僅是列表)時,您將使用pojo支持,您也將在同一個案例中使用itemLabel和itemValue。當使用pojo時,你會得到轉換錯誤,因爲你必須實現你自己的轉換器。如果所有這些東西都對你來說很奇怪,那麼使用簡單的自動完成功能就可以了!

考慮閱讀我提供給您一般更好地瞭解Primefaces成分(特別是自動完成)

+0

感謝Spauny回答我的問題: – goodprg 2011-12-16 07:18:56