【问题标题】:Check if variable exists in JSTL检查 JSTL 中是否存在变量
【发布时间】:2011-08-11 09:05:56
【问题描述】:

我有一个 PersistenceSet,想检查它是否包含某个变量。

如何在 JSTL 中检查子项是否存在?

但是,当我尝试访问这样的不存在的变量时:

<c:if test="${not empty item.subitem}">       
   <c:out value="${item.subitem}" /><br />
</c:if>

我得到一个 PropertyNotFoundException:

在类型 com.company.classname 上找不到属性“子项”

【问题讨论】:

  • 你确定你已经为这个属性定义了setter和getter方法吗?
  • 是的,它由 Spring Roo 处理。它有效,但我也想检查不包含子项属性的 PersistenceSets。

标签: java jsp jstl


【解决方案1】:

很明显,类中的subitem 没有标准的setter/getter

如果您想检查该属性是否可用于该课程,您可以进行以下调整

使用c:catch

<c:catch var="exception">${item.subitem}</c:catch>
<c:if test="${exception==null}">subitemnot available.</c:if>

【讨论】:

  • 是的,但是如何在 JSTL 内部检查子项是否可用?我不想为我的所有类定义一个表格标签。
  • 您的支票(非空)无效。我进行了编辑以检查 null,效果很好。
猜你喜欢
  • 2014-09-08
  • 1970-01-01
  • 2017-02-13
  • 2011-12-19
  • 2020-09-30
  • 1970-01-01
  • 2016-12-28
  • 1970-01-01
相关资源
最近更新 更多