为什么块永远不会达到“conditionTrue”?我打印了两个变量 authorEmail和scase.authorEmail和它们是相同的字符串。如果我使用像'abc@yahoo.com'这样的文字来测试条件,那么它是有效的,但如果c:if params都是变量则不然。
<c:forEach var="scase" items="${section.subSectionList.get(0).SCaseList}">
<c:set var="authorEmail" >
<sec:authentication property="principal.email" />
</c:set>
<c:if test = "${authorEmail == scase.authorEmail}" >
<option>conditionTrue</option>
</c:if>
</c:forEach>
更新 - 我通过进行这些更改让它发挥作用。
我注释掉了整个c:set标签。相反,我添加了这些行 -
<sec:authentication var="principal" property="principal" />
我的测试条件是:
<c:if test = "${principal.email == scase.authorEmail}" >
<option>conditionTrue</option>
</c:if>
这很有效。然而,它背后的推理仍然让我感到困惑。任何见解,非常感谢。