0
我有以下豆:自動完成與Primefaces
public List<Kunden> autocomplete(String nummer) {
List<Kunden> allNummern = kundenDao.alleNummern();
List<Kunden> gefiltert = new ArrayList<Kunden>();
for (Kunden k : allNummern) {
String convert = String.valueOf(k.getKundennummer());
if (convert.startsWith(nummer)) {
gefiltert.add(k);
}
else
{
kunde.setKundennummer(Long.parseLong(nummer));
kunde.setFirma("Noch nicht vergeben");
gefiltert.add(kunde);
}
}
HashSet<Kunden> hashSet = new HashSet<Kunden>(allNummern);
gefiltert.clear();
gefiltert.addAll(hashSet);
return gefiltert;
}
我的DAO類看起來是這樣的:
public class KundenDAO implements Serializable{
private static final long serialVersionUID = 1L;
private EntityManagerFactory emf = Persistence
.createEntityManagerFactory("auditcheck 3.0");
public List<Kunden> alleNummern() {
EntityManager em = emf.createEntityManager();
Query q = em.createQuery("SELECT DISTINCT k FROM Kunden k");
List<Kunden> nummern = q.getResultList();
return nummern;
}
}
這是我的看法代碼:
<prime:autoComplete id="auto" value="#{neu.kundennummer}" autocomplete="false" minQueryLength="1" completeMethod="#{neu.autocomplete}" required="true" var="k" itemValue="#{k.kundennummer}" itemLabel="#{k.kundennummer}" forceSelection="true">
<prime:column>
<h:outputText value="#{k.kundennummer} - #{k.firma}" />
</prime:column>
</prime:autoComplete>
我的問題是,我想要的是,如果自動完成方法未在列表中找到某些條目,則使用來自視圖的輸入字段的值。 但它不工作。所有發生的事情是,可以看到我列表中的所有信息,並且當我開始向其他數字發送小費並且想要確認時,該值不顯示。我使用一個HashMap集合(數字 - 工廠),向用戶顯示。
非常感謝!這解決了我的問題;) – user3515460