If-then-else inside a JSP expression?
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
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, 2022Comments
-
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.