• Menu
  • Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

JavaBeat

Java Tutorial Blog

  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)
  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)

JSTL Core c:choose, c:when, c:otherwise Tags

February 18, 2014 //  by Krishna Srinivasan

JSTL Core <c:choose> Tag

The <c:choose> tag of JSP core tag library is used for conditional execution of statement. The choose tag is used to construct an <c:if> statement. The <c:choose> tag acts like a java switch statement. The <c:choose> tag executes the conditional block statements which is embedded with the sub-tags <c:when> and <c:otherwise>.

The syntax of <c:choose> Tag

<c:choose> body content </c:choose>

The <c:choose> tag has no attribute.

JSTL Core <c:when> Tag.

It is a subtag of <c:choose> tag .<c:when> tag is like the block of if control statements which executes when the condition is true. The <c:when> tag encloses a single case within the <c:choose> tag.

The syntax of <c:when> Tag

<c:when attribute> body content </c:when>

Attribute used in <c:when> Tag

There is only one attribute used in the <c:when> tag that is test. test attribute is used to provide conditional statement for evaluation.

JSTL Core <c:otherwise> Tag

<c:otherwise> tag is similar to default statement which works when all the statements of <c:otherwise> holds false. This tag is like else of if control statement of java program.This is also a subtag of <choose> tag .
The <c:otherwise> tag is evaluated if <c:when> or nested <c:when> tag attribute test condition is not evaluated to true.

syntax of <c:otherwise> Tag

<c:otherwise> body content </c:otherwise>

The body content of the <c:otherwise> tag is evaluated if none of the <c:when> conditions in the <c:choose> tag are resolved to true. There is a no attribute for <c:otherwise> tag.

Example using <c:choose>, <c:when> and <c:otherwise> Tags

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
<span style="font-size: 12px; line-height: 18px;">    pageEncoding="ISO-8859-1"%></span>
<span style="font-size: 12px; line-height: 18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" </span>
<span style="font-size: 12px; line-height: 18px;">"http://www.w3.org/TR/html4/loose.dtd"></span>
<span style="font-size: 12px; line-height: 18px;"><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %></span>
<span style="font-size: 12px; line-height: 18px;"><html></span>
<span style="font-size: 12px; line-height: 18px;"><head></span>
<span style="font-size: 12px; line-height: 18px;"><title>c:choose, c:when and c:otherwise Tag Example</title></span>
<span style="font-size: 12px; line-height: 18px;"></head></span>
<span style="font-size: 12px; line-height: 18px;"><body></span>
<span style="font-size: 12px; line-height: 18px;"><c:set var="number1" value="${6546}"/></span>
<span style="font-size: 12px; line-height: 18px;"><c:set var="number2" value="${12}"/></span>
<span style="font-size: 12px; line-height: 18px;"><c:set var="number3" value="${10}"/></span>
<span style="font-size: 12px; line-height: 18px;"><c:choose></span>
<span style="font-size: 12px; line-height: 18px;"> <c:when test="${number1 < number2}"></span>
<span style="font-size: 12px; line-height: 18px;">     ${"number1 is less than number2"}</span>
<span style="font-size: 12px; line-height: 18px;"> </c:when></span>
 <c:when test="${number1 <= number3}">
<span style="font-size: 12px; line-height: 18px;">     ${"number1 is less than equal to number2"}</span>
<span style="font-size: 12px; line-height: 18px;"> </c:when></span>
<span style="font-size: 12px; line-height: 18px;"> <c:otherwise></span>
<span style="font-size: 12px; line-height: 18px;">     ${"number1 is largest number!"}</span>
<span style="font-size: 12px; line-height: 18px;"> </c:otherwise></span>
<span style="font-size: 12px; line-height: 18px;"></c:choose></span>
<span style="font-size: 12px; line-height: 18px;"></body></span>
<span style="font-size: 12px; line-height: 18px;"></html></span>

How To Run?

  • Save this file as example.jsp in your eclipse IDE.
  • Now select this jsp file, right mouse click and select Run as ->Run on server

Output

When the execution process is completed successfully we will get the following output :
jstl_core c choose tag_demo

Above example demonstrate the use of <c:choose>, <c:when> and <c:otherwise> tags. In the above example we used the <c:set> tag first for assigning the value for variables and the we use the <c:when> and <c:otherwise> tags. These tags are sub tags of <c:choose>. These tags execute the the conditional statements specified by the <c:when test=””>.
Above example demonstrate the comparisons between three numbers and displays the greater number.

 

Previous Tutorial : JSTL Core c:if Tag :: Next Tutorial : JSTL Core c:import Tag

Category: Java EETag: JSTL Tutorials

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Previous Post: « JSTL Core c:if Tag
Next Post: JSTL Core c:import Tag »

Primary Sidebar

Follow Us

  • Facebook
  • Pinterest

FEATURED TUTORIALS

How to Implement getActiveCount() Method of ThreadPoolExeceutor in Java

What is new in Java 6.0 Collections API?

The Java 6.0 Compiler API

Introductiion to Jakarta Struts

What’s new in Struts 2.0? – Struts 2.0 Framework

JavaBeat

Copyright © by JavaBeat · All rights reserved
Privacy Policy | Contact