gpt4 book ai didi

jsf - 如何在 c :if in Facelets 中使用 OR 条件

转载 作者:行者123 更新时间:2023-12-04 23:23:22 26 4
gpt4 key购买 nike

如何在 <c:if> 中使用 OR 条件在 Facelets 中?如果是 3 或 2 或 5,我需要检查 privlage。

 <c:if test="#{Privlage=='3'or '2' or '5'}" > 

最佳答案

只需遵循与普通 Java 相同的逻辑即可:

if (privilege.equals("3") || privilege.equals("2") || privilege.equals("5"))

因此,所以:
<c:if test="#{privilege == '3' || privilege == '2' || privilege == '5'}">

您可以使用 eq而不是 ==or而不是 ||在 EL。
<c:if test="#{privilege eq '3' or privilege eq '2' or privilege eq '5'}">

如果您使用的是 EL 3.0,那么您可以通过新的 #{[...]} 使用新功能来声明内联集合。列表和 #{{...}} 的语法集合的语法。所以,下面的 Java 等价物:
List<String> privileges = Arrays.asList("3", "2", "5");
if (privileges.contains(privilege))

可以在 EL 3.0 中这样做:
<c:if test="#{['3','2','5'].contains(privilege)}">

也可以看看:
  • Our EL wiki page
  • Java EE 6 tutorial - Operators in EL
  • Java EE 6 tutorial - Examples of EL expressions
  • Java EE 7 tutorial - Operations on Collection objects
  • 关于jsf - 如何在 c :if in Facelets 中使用 OR 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18028611/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com