如何<c:if>在Facelets中使用OR条件?如果是3或2或5,我需要检查私处.
<c:if test="#{Privlage=='3'or '2' or '5'}" >
Run Code Online (Sandbox Code Playgroud)
只需遵循与普通Java相同的逻辑:
if (privilege.equals("3") || privilege.equals("2") || privilege.equals("5"))
Run Code Online (Sandbox Code Playgroud)
因此,所以:
<c:if test="#{privilege == '3' || privilege == '2' || privilege == '5'}">
Run Code Online (Sandbox Code Playgroud)
您可以使用eq,而不是==和or,而不是||在EL.
<c:if test="#{privilege eq '3' or privilege eq '2' or privilege eq '5'}">
Run Code Online (Sandbox Code Playgroud)
如果您使用的是EL 3.0,则可以使用新功能通过#{[...]}列表的新语法和集合语法声明内联集合#{{...}}.那么,下面的Java等价物:
List<String> privileges = Arrays.asList("3", "2", "5");
if (privileges.contains(privilege))
Run Code Online (Sandbox Code Playgroud)
可以在EL 3.0中完成:
<c:if test="#{['3','2','5'].contains(privilege)}">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5053 次 |
| 最近记录: |