OK,我提出了一個解決方案,這對我來說工作正常。
Primefaces自動完成:
<p:autoComplete id="mulitAutoSchlagWorte"
value="#{entityHandler.entity.tags}"
completeMethod="#{entityListHandler.completeAreaWithCreation}"
var="_tag"
itemLabel="#{_tag.value}"
itemValue="#{_tag}"
multiple="true"
size="300"
converter="#{entityConverter}">
</p:autoComplete>
列表處理器,這也創造了新的標籤:
public List<Tag> completeAreaWithCreation(String query) {
List<Tag> returnList = this.entityManager.createNamedQuery(Tag.NAMED_QUERY_GET_TAGS_BY_LIKE, Tag.class).setParameter("tag", query.toLowerCase().trim() + "%").getResultList();
if(returnList.size() == 0){
if(query.endsWith(" ")){
entityHandler.create();
entityHandler.getEntity().value(query.trim());
entityHandler.save();
}
returnList = completeAreaWithCreation(query.trim());
}
return returnList;
}
有趣。你想怎麼做。添加按鈕或事件(輸入來自用戶的輸入)。基本上你需要一個事件來捕獲哪個進程將執行插入查詢到數據庫中。 –
最好的事情是一個事件,但如果實現會更容易,我也可以使用按鈕。好吧,有一個查詢,這將價值推到我的數據庫不是問題。我想知道,如何從該自動填充框中獲取未知值。 – LStrike
嗯未知的值不會進入自動完成,反過來你的數據庫查詢會給沒有。元素返回爲零。 –