4

<c:if>FaceletsでOR条件を使用するにはどうすればよいですか? 特権が 3 か 2 か 5 かを確認する必要があります。

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

1 に答える 1

9

通常の Java と同じロジックに従ってください。

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

したがって、そう:

<c:if test="#{privilege == '3' || privilege == '2' || privilege == '5'}">

ELの代わりeq==or代わりに使用できます。||

<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)}">

以下も参照してください。

于 2013-08-03T02:21:25.697 に答える