过去2天我面临一个特殊的问题,但找不到原因。
我在JSP文件中有一个IF条件来检查给定的布尔变量是否为真。如果是,我正在显示菜单。我正在检查4个不同的变量,其中3个变量正在工作,除了1.如果任何一个变量superAdmin, admin and requester
为真,则显示列表。但如果变量person
为真,则不显示列表。
我尝试使用<s:hidden...>
在屏幕上打印变量的值,它将值打印为TRUE。该变量设置为true并传递给UI。仍然,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>
答案 0 :(得分:0)
根据您的帖子,您说如果变量 if($('#MyForms').valid())
{
// Do something (Valid)
}
else
{
// Do something (invalid)
}
为person
,则不应显示该列表,否则应在其true
时显示。
因此,if条件应为false
,因此!#session.userDetails.person
。
答案 1 :(得分:0)
试试这个:
<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>
答案 2 :(得分:0)
这是你应该检查它是否有效然后你有其他变量的问题。
<s:if test="%{#session.userDetails.person || #session.userDetails.requester}">
<li><a href="../displays/MeasurementsByAdministrator.action" onclick="javascript:startCfaPB()">Member Measurements</a></li>
</s:if>