2017-07-27 4 views
1

<c:if>タグ内の複数の条件をチェックしたいと思います。 私はこの複数の条件をテストする方法<c:if> jstl

<c:if test="${role ne manager || role ne admin || role ne moderator}"> 
    System.out.println("this result will not display for manager, admin & mod"); 
</c:if> 

ようにそれをやっている。しかし、まだ、私はあなたがJSTLを使用してJSPに条件付きのレンダリングを行うために<c:if><c:choose>タグを使用することができます上記の役割

+0

あなたは単一の声明があればそれは働いていますか? 'ロールマネージャー||ロール管理者||ロールneモデレータ 'は適切な文のようには見えません。 – ByeBye

+0

@ByeByeはいここでは最初の文が使用されています – Akash

+0

' ne'が 'not'ならば、' || 'の代わりに' && 'を使わなければなりません。 – ByeBye

答えて

-1

ために結果を見ることができています。 場合は、あなたが使用することができますシミュレートするため

<c:if test="YourCondition"></c:if> 

場合をシミュレートするには...他には、使用することができます:

<c:choose> 
    <c:when test="${param.enter=='1'}"> 
     burger. 
     <br /> 
    </c:when>  
    <c:otherwise> 
     pizza. 
     <br /> 
    </c:otherwise> 
</c:choose> 

をあなただけの出力別のテキストにしたい場合より簡潔な例は、

${condition ? "some text when true" : "some text when false"} 

これはcより短いです:を選択してください。

+0

なぜダウン投票? –

1

ここでの問題は、ブールロジックである:

<c:if test=${role ne manager || role ne admin || role ne moderator}> 

ユーザーがMANAGERであれば、これは次のようになります。 0 OR 1 OR 1 = 1 ADMINと司会

のための同じあなたがAND

にそれを変更する必要があります
<c:if test=${role ne manager && role ne admin && role ne moderator}> 

メッセージは、ユーザーが指定された役割を一切持たない場合にのみ表示されます。

+0

これは良いアイデアです。 –

関連する問題