我有一个包含属性的bean列表。我正在构建2个子列表,以查看其中的内容并传递到页面。
我需要检查两个子列表中的所有值是否都为空
爪哇:
beans = dao.getResourceExpended(filter);
List<BigDecimal> scheduledBeans = new ArrayList<BigDecimal>();
List<BigDecimal> realBeans = new ArrayList<BigDecimal>();
for (ResourceBean f : beans)
{
scheduledBeans.add(f.getScheduledResource());
realBeans.add(f.getRealResource());
}
request.setAttribute("scheduledBeans", scheduledBeans);
request.setAttribute("realBeans", realBeans);
JSTL:
<c:choose>
<c:when test="${empty scheduledBeans}">
alert("scheduledBeans Empty");
</c:when>
<c:when test="${empty realBeans}">
alert("realBeans Empty");
</c:when>
</c:choose>
上面的“选择”不起作用,因为值返回为:
alert("scheduledBeans =" + scheduledBeans);
alert("realBeans =" + realBeans);
scheduledBeans = [null, null, null]
realBeans = [null, null, null]
答案 0 :(得分:1)
不要将null
值添加到列表中。
替换
scheduledBeans.add(f.getScheduledResource());
realBeans.add(f.getRealResource());
通过
if (f.getScheduledResource() != null) {
gescheduledBeans.add(f.getScheduledResource());
}
if (f.getRealResource() != null) {
realBeans.add(f.getRealResource());
}
如果它们都是null
,则列表保持为空,然后empty
测试将通过。