JSTL / EL相当于空值和列表大小的测试



可能的重复项:
评估空或空的 JSTL c 标记

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

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

我不知道如何测试空,AFAIK EL 只能在这种情况下访问 getter,所以我必须添加一个方法 getSize() 到 sokandeList 类。 对吗?JSTL/EL表达式应该是什么样子的?感谢您的任何帮助

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

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

请注意,当您打算使用 <c:forEach> 迭代列表时,最好知道当提供的items empty时它已经不会运行。如果<c:forEach>直接被此检查包围,则此检查完全是多余的。

另请参阅:

  • Java EE 6 教程 - EL 中的运算符
  • Java EE 6 教程 - EL 表达式示例

这是一种方法:

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

我认为你也可以使用它:

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

真棒 JSTL 备忘单

最新更新