【发布时间】:2015-08-26 10:25:53
【问题描述】:
我有这个自动完成功能非常好,只是它没有在支持 bean 中设置 value 参数
value="#{marketLoader.invSelectedItem}"
但它只会显示搜索中的正确项目。但是单击一个项目不会设置对象(不是字符串)。在后备豆中。在这种情况下,marketLoader.completeItemtext 将返回一个列表。没有调用 setInvSelectedItem() 方法是否有原因?我需要一个转换器才能让它工作吗?
<p:autoComplete id="drop" dropdown="true" value="#{marketLoader.invSelectedItem}"
completeMethod="#{marketLoader.completeItemtext}"
var="item" itemLabel="#{item.typeName}"/>
完整的方法
private invTypes invSelectedItem;
public List<invTypes> completeItemtext(String query) {
if (query.length() < 3) {
return null;
}
List<invTypes> tmpList = listDBItem.stream().filter(p -> p.getTypeName().contains(query))
.collect(Collectors.toList());
return tmpList;
}
【问题讨论】:
-
这里列出了所有可能的原因stackoverflow.com/questions/2118656/…您的问题没有包含足够的信息来指出具体原因。阅读 JSF wiki 页面如何更快地获得更好的答案:stackoverflow.com/tags/jsf/info
-
添加了更多信息。我需要转换器才能做到这一点吗?
-
是的,你需要一个转换器。我建议检查现成的 Omnifaces 转换器(此处:showcase.omnifaces.org/converters/ListConverter)
-
检查这个:[链接],我看到左边的转换器stackoverflow.com/questions/32059695/…
标签: jsf primefaces