我在JSP中看到了类似下面的代码
<c:if test="<%=request.isUserInRole(RoleEnum.USER.getCode())%>">
<li>user</li>
</c:if>
Run Code Online (Sandbox Code Playgroud)
我的困惑在于test属性值中出现的"=" .我的理解是,包含在其中的任何内容<%= %>都会打印到输出中,但是分配给test的值肯定必须是布尔值,那么为什么这样做呢?
对于奖励积分,有没有办法更改上面的属性值,使其不使用scriptlet代码?据推测,这意味着使用EL代替.
干杯,唐
Mic*_*ael 16
该test属性寻找以确定某些内容是否为真的所有内容都是字符串"true"(不区分大小写).例如,以下代码将打印"Hello world!"
<c:if test="true">Hello world!</c:if>
Run Code Online (Sandbox Code Playgroud)
<%= %>返回一个布尔值的代码,因此它将打印字符串"true"或"false",这正是<c:if>标记所查找的内容.
小智 11
你也可以使用类似的东西
<c:if test="${ testObject.testPropert == "testValue" }">...</c:if>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
127964 次 |
| 最近记录: |