JSTL / EL相当于测试null和列表大小?

时间:2012-05-24 13:03:42

标签: java jsp java-ee jstl el

  

可能重复:
  Evaluate empty or null JSTL c tags

我正在为JSTL和EL重构scriptlet,我想知道如何在JSTL / EL中编写以下内容:

if(sokandeList != null && sokandeList.size() > 0) { %>
...

我不知道如何测试null,AFAIK EL只能在这个上下文中访问getter所以我必须在sokandeList类中添加一个方法getSize()。正确? JSTL / EL表达式应该是什么样的?谢谢你的帮助

2 个答案:

答案 0 :(得分:18)

使用empty关键字,它会检查空值和空虚。

<c:if test="${not empty sokandeList}">
    ...
</c:if>

请注意,当您的意图是使用<c:forEach>对列表进行迭代时,最好知道在提供的itemsempty时它已经无法运行。如果此检查直接包围<c:forEach>,则此检查完全是多余的。

另见:

答案 1 :(得分:3)

这是一种方式:

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:if test="${fn:length(sokandeList) > 0}">

我想你也可以使用它:

<c:if test="${!empty myObject.sokandeList}">

Awesome JSTL cheat sheet