【发布时间】:2017-04-24 11:12:57
【问题描述】:
过去 2 天我遇到了一个特殊问题,但找不到原因。
我在 JSP 文件中有一个 <s:if> 标记,用于检查给定的布尔变量是否为 true。如果是,我正在显示菜单。
我正在检查 4 个不同的变量,其中 3 个变量正在工作,除了 1。如果变量 superAdmin, admin and requester 中的任何一个是 true,则显示列表。但如果变量person 是true,则列表不显示。
我尝试使用<s:hidden...>在屏幕上打印变量的值,它打印的值是TRUE。
变量设置为true并传递给UI。
不过,<s:if> 标记并未检查布尔变量 person,因此列表不会显示在屏幕上。
<s:if test="%{#session.userDetails.superAdmin || #session.userDetails.admin || #session.userDetails.person || #session.userDetails.requester}">
<li><a href="../displays/MeasurementsByAdministrator.action" onclick="javascript:startCfaPB()">Member Measurements</a></li>
</s:if>
【问题讨论】:
-
我想你一定是打错了
-
@ScaryWombat,你看到附加代码中的错字了吗?如果是由于拼写错误,我确实使用了这个词进行了搜索。完全一样。
-
@Anand 你有什么错误吗? if 条件不起作用 是什么意思?
-
@RomanC,我没有收到任何错误。我的意思是 IF 子句不适用于变量 person(具有布尔值 true)。
-
@Anand 查看下面的答案。