我正在尝试用两个字符串来评估一个表达式,它的评估结果为true,但是当它在th中使用时:如果它没有按预期工作。
以下代码就是我正在尝试的
<div th:with="cntx=${#httpServletRequest.getRequestURI()}">
<li th:each="obj : ${list}" th:with="path=${obj.path}"
th:if="${path == cntx}">
<span th:text="${obj.title}"></span>
</li>
</div>
上述代码的上下文
我有一个对象列表,其中包含必须在其中一个对象中显示的链接。我正在尝试与th进行字符串相等:if,但是$ {path == cntx}中的表达式由于某种原因失败并且没有显示在最终呈现的页面上。
我甚至检查了相同的路径和URI值,即cntx的路径和/ test的测试,如果我使用th:text打印出来,则评估为true。非常奇怪的行为。
答案 0 :(得分:2)
我的猜测是在th:with
之前评估if。你可以尝试:
<th:block th:each="obj : ${list}" th:with="path=${obj.path}">
<li th:if="${path == cntx}">...</li>
</th:block>
然而,对我来说,它会打印某种有用的异常(例如:找不到变量路径)。