March 2008
Intermediate to advanced
911 pages
20h 31m
English
There’s no way to do exactly what we want using the <c:if> tag, because it doesn’t have an “else”. We can almost do it, using something like:
JSP using <c:if>, but it doesn’t work right...
<c:if test="${userPref=='performance'}" >
Now you can stop even if you <em>do</em> drive insanely fast..
</c:if>
<c:if test="${userPref=='safety'}" >
Our brakes won't lock up no matter how bad a driver you are.
</c:if>
<c:if test="${userPref=='maintenance'}" >
Lost your tech job? No problem--you won't have to service these brakes
for at least three years.
</c:if>But what happens if userPref doesn’t match any of these? There’s no way to specify the default headline?
<!-- continue with the rest of the page that EVERYONE should see -->
The <c:if> won’t work unless we’re CERTAIN that we’ll never need a default value. What we really need is kind of an if/else construct:[8]
JSP with scripting, and it does what we want

[8] Yes, we agree with you—there’s nearly always a better approach than chained if tests. But you’re just gonna have to suspend disbelief long enough to learn how this all works....
Read now
Unlock full access