我正在为JSTL和EL重构scriptlet,我想知道如何在JSTL / EL中编写以下内容:
if(sokandeList != null && sokandeList.size() > 0) { %>
...
我不知道如何测试null,AFAIK EL只能在这个上下文中访问getter所以我必须在sokandeList类中添加一个方法getSize()。正确? JSTL / EL表达式应该是什么样的?谢谢你的帮助
答案 0 :(得分:18)
使用empty
关键字,它会检查空值和空虚。
<c:if test="${not empty sokandeList}">
...
</c:if>
请注意,当您的意图是使用<c:forEach>
对列表进行迭代时,最好知道在提供的items
为empty
时它已经无法运行。如果此检查直接包围<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}">