If-then-else inside a JSP expression?

87,602

Solution 1

In JSP EL 2.0, you can do that using the ternary operator. For instance:

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

What it does is it checks JSP's param's number variable. If it's 1, then selected is substituted. otherwise, nothing.

Solution 2

If you are using JSTL you can do choose-when-otherwise.

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

For more information on JSTL try here.

Solution 3

You can wrap your html code with jsp tags like this:

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

Solution 4

there is a different way I use because Eclipse keep telling me that it can't resolve a variable which is coming from the servlet while executing which is below (PS: Am new to JSP):

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

the result will be like

text to print <var value here> text to print

Share:
87,602
Xonatron
Author by

Xonatron

Matthew Doucette: Co-founder + Board Member, Ignite Labs Game Development Faculty + Faculty Chair, NSCC Truro Campus Xbox MVP, Microsoft Co-founder + Game Producer + Lead Programmer + CEO, Xona Games (Full resume at matthewdoucette.com.)

Updated on August 04, 2022

Comments

  • Xonatron
    Xonatron over 1 year

    Can you do an if-then-else statement inside a JSP expression?

    EDIT : Specifically I was looking for a JSP solution, not a JSTL solution. But some JSTL solutions below are highly rated and are very welcome. Just please do not vote me down for a duplicate question because one has already been asked about JSTL.