web-dev-qa-db-ja.com

JSP式内のif-then-else?

JSP式内でif-then-elseステートメントを実行できますか?

EDIT:具体的には、JSTLソリューションではなくJSPソリューションを探していました。ただし、以下のJSTLソリューションの一部は高い評価を得ており、大歓迎です。すでにJSTLについて質問されているので、重複した質問に私を投票しないでください。

24
Xonatron

JSP EL 2.0では、三項演算子を使用してそれを行うことができます。例えば:

<option value="1" ${param.number == 1 ? 'selected' : ''}>First option</option>

これは、JSPのparamnumber変数をチェックします。 1の場合、選択済みが置換されます。そうでなければ、何もありません。

34
Ivan Zarea

JSTLを使用している場合は、そうでない場合に選択できます。

<c:choose>
  <c:when test="condition"></c:when>
  <c:when test="condition2"></c:when>
  <c:otherwise></c:otherwise>
</c:choose>

JSTLの詳細については、 here を試してください。

23
Michael

次のようなjspタグでhtmlコードをラップできます。

<% if (condition) { %>
<div>Condition is true!</div>
<% } else { %>
<div>Condition is false</div>
<% } %>
12
Kevin

eclipseは、実行中にサーブレットから来ている変数を解決できないことを教え続けているため、私が使用する別の方法があります(PS:JSPは新しいです):

${if(var != null)"text to print"}
${if(var != null)var}  to print a variable 
${if(var != null)"text to print"}

結果は次のようになります

印刷するテキスト<var value here>印刷するテキスト

1
Saad Bouteraa