web-dev-qa-db-fra.com

If-then-else dans une expression JSP?

Pouvez-vous faire une instruction if-then-else dans une expression JSP?

EDIT: Plus précisément, je cherchais une solution JSP, pas une solution JSTL. Mais certaines solutions JSTL ci-dessous sont très bien notées et sont les bienvenues. Veuillez ne pas voter contre moi pour une question en double car une question a déjà été posée sur JSTL.

24
Xonatron

Dans JSP EL 2.0, vous pouvez le faire en utilisant l'opérateur ternaire. Par exemple:

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

Il vérifie la variable param de JSP number. Si c'est 1, alors sélectionné est substitué. sinon, rien.

34
Ivan Zarea

Si vous utilisez JSTL, vous pouvez choisir quand-sinon.

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

Pour plus d'informations sur JSTL, essayez ici .

23
Michael

Vous pouvez envelopper votre code html avec des balises jsp comme ceci:

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

il y a une manière différente que j'utilise car Eclipse me dit constamment qu'il ne peut pas résoudre une variable qui vient de la servlet lors de l'exécution qui est en dessous (PS: je suis nouveau sur JSP):

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

le résultat sera comme

texte à imprimer <valeur var ici> texte à imprimer

1
Saad Bouteraa