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.
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.
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 .
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>
<% } %>
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