![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e1069. Conditionally Generating Output Using JSTL in a JSP PageAny non-JSP code in a JSP file is called template text and is automatically written to the output stream. The JSTL tags<c:if>
and <c:choose> make it possible to dynamically generate template
text depending on a condition.
The <c:if> tag generates its body if the expression in the
test attribute evaluates to the boolean value true
or the string value "true" :
<%-- Declare the core library --%> <%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %> <%-- Simple if conditions --%> <c:if test='${param.p == "someValue"}'> Generate this template text if p equals someValue </c:if> <c:if test='${param.p}'> Generate this template text if p equals "true" </c:if>An if/else action requires the use of the <c:choose> tag:
<%-- A simple if/else condition --%> <c:choose> <c:when test='${param.p == "someValue"}'> Generate this template text if p equals someValue </c:when> <c:otherwise> Otherwise generate this template text </c:otherwise> </c:choose>Multiple conditions can be evaluated using the <c:choose> tag:
<c:choose> <c:when test='${param.p == "0"}'> Generate this template text if p equals 0 </c:when> <c:when test='${param.p == "1"}'> Generate this template text if p equals 1 </c:when> <c:otherwise> Generate this template text if p equals anything else </c:otherwise> </c:choose>The <c:out> can also be used to conditionally generate template text.
If the value attribute is null, a default value (if specified)
is generated. The default value can be specified using the default
attribute or can be specified in the body content. This
example demonstrates both methods:
<%-- Default value in an attribute --%> <c:out value='${param.p}' default="Generate this if p is null" /> <%-- Default value in the body content --%> <c:out value='${param.p}'> Generate this if p is null </c:out>
e1065. Enabling the JSTL Expression Language in a JSP Page e1066. Getting a Request Parameter Using JSTL in a JSP Page e1067. Saving Data Using JSTL in a JSP Page e1068. Saving and Emitting HTML Fragments Using JSTL in a JSP Page © 2002 Addison-Wesley. |