Java PrimeFaces Autocomplete Facet 在分组时重复相同的组
Java PrimeFaces Autocomplete Facet Repeating Same Groups While Grouping
我正在开发一个 Java EE 项目并使用 Primefaces。我尝试按组显示搜索操作结果。为了显示结果,我使用 primefaces autocomplete facet。我得出了一些结果,但问题是相同的组正在重复,如下所示。('0002','000' 组重复)
<p:autoComplete id="generalSearch" completeMethod="#{search.afterSearch}" minQueryLength="3"
var="doc" itemLabel="#{doc.get('NAME')}" itemValue="#{doc}" forceSelection="true" groupBy="#{doc.get('CODE')}"
converter="searchConverter" scrollHeight="500"
effect="blind" styleClass="SearchText" placeholder="Search"/>
这是我的 SearchConverter class
@FacesConverter("searchConverter")
public class SearchConvert implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if(value != null && value.length() > 0) {
try {
SearchBean sBean = (SearchBean) context.getExternalContext().getSessionMap().get("search");
System.out.println("VALUE " + value);
return sBean.getDocs().get(Integer.parseInt(value));
} catch(NumberFormatException e) {
Log.debug("ERROR");
throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error", "Not a valid theme."));
}
}
else {
return null;
}
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if(value != null) {
return (String) ((SolrDocument) value).get("id");
}
return null;
}
}
我不确定 getAsObject
函数是否正常工作。因为我看不到 System.out.println("VALUE " + value);
的输出
哦等等 primeface 不会在一个组之前检查其他组。
所以当你执行select命令时使用group by
我正在开发一个 Java EE 项目并使用 Primefaces。我尝试按组显示搜索操作结果。为了显示结果,我使用 primefaces autocomplete facet。我得出了一些结果,但问题是相同的组正在重复,如下所示。('0002','000' 组重复)
<p:autoComplete id="generalSearch" completeMethod="#{search.afterSearch}" minQueryLength="3"
var="doc" itemLabel="#{doc.get('NAME')}" itemValue="#{doc}" forceSelection="true" groupBy="#{doc.get('CODE')}"
converter="searchConverter" scrollHeight="500"
effect="blind" styleClass="SearchText" placeholder="Search"/>
这是我的 SearchConverter class
@FacesConverter("searchConverter")
public class SearchConvert implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if(value != null && value.length() > 0) {
try {
SearchBean sBean = (SearchBean) context.getExternalContext().getSessionMap().get("search");
System.out.println("VALUE " + value);
return sBean.getDocs().get(Integer.parseInt(value));
} catch(NumberFormatException e) {
Log.debug("ERROR");
throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, "Conversion Error", "Not a valid theme."));
}
}
else {
return null;
}
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if(value != null) {
return (String) ((SolrDocument) value).get("id");
}
return null;
}
}
我不确定 getAsObject
函数是否正常工作。因为我看不到 System.out.println("VALUE " + value);
哦等等 primeface 不会在一个组之前检查其他组。
所以当你执行select命令时使用group by