我在JSP中看到了一些类似于以下的代码
<c:if test="<%=request.isUserInRole(RoleEnum.USER.getCode())%>"> <li>user</li> </c:if>
我对test属性值中出现的“ =”感到困惑。我的理解是,其中包含的所有内容<%= %>都会打印到输出中,但是肯定分配给test的值必须是布尔值,那么为什么这样做有效?
test
<%= %>
对于奖励积分,有什么方法可以更改上面的属性值,使其不使用scriptlet代码?据推测,这意味着使用EL代替。
干杯,唐
该test属性用于确定是否为真的所有内容是字符串“ true”(不区分大小写)。例如,以下代码将打印“ Hello world!”。
<c:if test="true">Hello world!</c:if>
<%= %>返回值中的代码返回一个布尔值,因此它将打印字符串“ true”或“ false”,这正是<c:if>标签所要查找的。
<c:if>