2016-02-19 78 views
0

我試圖通過綁定生成自動填充框。但我不確定爲什麼搜索值的標籤不在UI上呈現。代碼片段添加到下面。請幫忙。p:自動完成綁定未顯示搜索值的標籤

FacesContext facesContext = FacesContext.getCurrentInstance(); 
AutoComplete autoComplete = new AutoComplete(); 
ExpressionFactory factory = ExpressionFactory.newInstance(); 

@SuppressWarnings("rawtypes") 
Class[] classes = new Class[1]; 
classes[0] = User.class; 

autoComplete.setCompleteMethod(factory.createMethodExpression(facesContext.getELContext(), "#{userBean.values}", List.class , classes)); 
autoComplete.setVar("user"); 
autoComplete.setDropdown(false); 
autoComplete.setItemValue(facesContext.getApplication().getExpressionFactory().createValueExpression("#{user}", User.class)); 
autoComplete.setItemLabel(facesContext.getApplication().evaluateExpressionGet(facesContext, "#{user.name}", String.class)); 
autoComplete.setConverter(new CommonConvertor()); 

回答

0

我結束了寫入,其中無論ItemLabel被稱爲我覆蓋的方法&,而不是直接使用ItemLabel我把EL表情評估定製渲染器每當我發現ItemLabel開始以「#{」。這導致了自動完成功能的正常工作。該解決方案有效。

我已重寫以下方法

  1. encodeInput
  2. encodeMultipleMarkup
  3. encodeSuggestionsAsTable
  4. encodeSuggestionsAsList

請讓我知道如果你能找到簡單的解決方案。