我在查询搜索中创建了一个SelectManyChoice,现在想在BackingBean中获取SelectManyChoice的每个选定值。为了实现这一点,我编写了自己的onSearch函数。
public void onSearch(QueryEvent queryEvent) {
QueryDescriptor qd = queryEvent.getDescriptor();
ConjunctionCriterion conCrit = qd.getConjunctionCriterion();
List<Criterion> criterionList = conCrit.getCriterionList();
for (Criterion criterion : criterionList) {
AttributeDescriptor attrDescriptor = ((AttributeCriterion) criterion).getAttribute();
// this is my SelectManyChoice field
if (attrDescriptor.getName().equalsIgnoreCase("KobBuaNr")) {
String KobBuaNr = (String) ((AttributeCriterion) criterion).getValues().get(0);
System.out.println("KobBuaNr :" + KobBuaNr);
}
if (attrDescriptor.getName().equalsIgnoreCase("BbuDatBuchOhneZeit")) {
Date BbuDatBuch = (Date) ((AttributeCriterion) criterion).getValues().get(0);
System.out.println("BbuDatBuch :" + BbuDatBuch);
}
if (attrDescriptor.getName().equalsIgnoreCase("KgbBktoKzEilig")) {
String KgbBktoKzEilig = (String) ((AttributeCriterion) criterion).getValues().get(0);
System.out.println("KgbBktoKzEilig :" + KgbBktoKzEilig);
}
}
DCBindingContainer bc = (DCBindingContainer) BindingContext.getCurrent().getCurrentBindingsEntry();
ViewCriteria vc = getViewCriteria(bc, qd);
invokeMethodExpression("#{bindings.BankBuchungenSearchOhneBindingsQuery.processQuery}", queryEvent);
}
如果我这样做,列表将通过SelectManyChoice中的println包含一个“ [I”(可迭代整数数组)的对象,但是我想获取所选索引的值。我该如何实施?
最好的问候,目的地
我对我的项目有相同的要求。
让我们知道是否有人对此问题的答案。