JSP式内でif-then-elseステートメントを実行できますか?
EDIT:具体的には、JSTLソリューションではなくJSPソリューションを探していました。ただし、以下のJSTLソリューションの一部は高い評価を得ており、大歓迎です。すでにJSTLについて質問されているので、重複した質問に私を投票しないでください。
JSP EL 2.0では、三項演算子を使用してそれを行うことができます。例えば:
<option value="1" ${param.number == 1 ? 'selected' : ''}>First option</option>
これは、JSPのparam
のnumber
変数をチェックします。 1の場合、選択済みが置換されます。そうでなければ、何もありません。
JSTLを使用している場合は、そうでない場合に選択できます。
<c:choose>
<c:when test="condition"></c:when>
<c:when test="condition2"></c:when>
<c:otherwise></c:otherwise>
</c:choose>
JSTLの詳細については、 here を試してください。
次のようなjspタグでhtmlコードをラップできます。
<% if (condition) { %>
<div>Condition is true!</div>
<% } else { %>
<div>Condition is false</div>
<% } %>
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>印刷するテキスト