2016-02-19 55 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

请让我知道如果你能找到简单的解决方案。

相关问题