jstl if else选择/何时不评估变量

Atm*_*tma 2 jsp jstl el

当我满足选择/何时条件时,我正在尝试打印一些html:

 <c:choose>
      <c:when test="${notification.placeId} == ${place.placeId}">
    ${notification.name}
  </c:when>
<c:otherwise>
    placeId: ${place.placeId} - notplaceid: ${notification.placeId}
    </c:otherwise>
 </c:choose>
Run Code Online (Sandbox Code Playgroud)

打印:placeId:50 - notplaceid:43 placeId:50 - notplaceid:47 placeId:50 - notplaceid:49 placeId:50 - notplaceid:50 placeId:50 - notplaceid:51 placeId:50 - notplaceid:51 placeId:50 - notplaceid :51 placeId:50 - notplaceid:51 placeId:50 - notplaceid:52 placeId:50 - notplaceid:53 placeId:50 - notplaceid:0 placeId:50 - notplaceid:0

这一切都打印出来,否则永远不会从when语句中打印通知名称.从打印中可以看出,粗体输出明显符合when条件,应打印通知名称.

有谁知道发生了什么?

JB *_*zet 5

使用

<c:when test="${notification.placeId == place.placeId}">
Run Code Online (Sandbox Code Playgroud)

代替

<c:when test="${notification.placeId} == ${place.placeId}">
Run Code Online (Sandbox Code Playgroud)

您键入的方式,该test属性被评价为一个字符串:评估结果的拼接${notification.placeId},==以及评价的结果${place.placeId}.

您希望将整个事物评估为布尔表达式.