Syntax in JSP

Last updated on May 31 2022
Mohnish Patil

Table of Contents

Syntax in JSP

In this blog, we will discuss Syntax in JSP. We will understand the basic use of simple syntax (i.e, elements) involved with JSP development.

Elements of JSP

The elements of JSP have been described below −

The Scriptlet

A scriptlet can contain any number of JAVA language statements, variable or method declarations, or expressions that are valid in the page scripting language.

Following is the syntax of Scriptlet −

<% code fragment %>

You can write the XML equivalent of the above syntax as follows −

<jsp:scriptlet>

   code fragment

</jsp:scriptlet>

Any text, HTML tags, or JSP elements you write must be outside the scriptlet. Following is the simple and first example for JSP −

<html>

   <head><title>Hello World</title></head>

  

   <body>

      Hello World!<br/>

      <%

         out.println("Your IP address is " + request.getRemoteAddr());

      %>

   </body>

</html>

NOTE − Assuming that Apache Tomcat is installed in C:\apache-tomcat-7.0.2 and your environment is setup as per environment setup tutorial.

Let us keep the above code in JSP file hello.jsp and put this file in C:\apache-tomcat7.0.2\webapps\ROOT directory. Browse through the same using URL http://localhost:8080/hello.jsp. The above code will generate the following result −

7.1.1

JSP Declarations

A declaration declares one or more variables or methods that you can use in Java code later in the JSP file. You must declare the variable or method before you use it in the JSP file.

Following is the syntax for JSP Declarations −

<%! declaration; [ declaration; ]+ ... %>

You can write the XML equivalent of the above syntax as follows −

<jsp:declaration>

   code fragment

</jsp:declaration>

Following is an example for JSP Declarations −

<%! int i = 0; %>

<%! int a, b, c; %>

<%! Circle a = new Circle(2.0); %>

JSP Expression

A JSP expression element contains a scripting language expression that is evaluated, converted to a String, and inserted where the expression appears in the JSP file.

Because the value of an expression is converted to a String, you can use an expression within a line of text, whether or not it is tagged with HTML, in a JSP file.

The expression element can contain any expression that is valid according to the Java Language Specification but you cannot use a semicolon to end an expression.

Following is the syntax of JSP Expression −

<%= expression %>

You can write the XML equivalent of the above syntax as follows −

<jsp:expression>

   expression

</jsp:expression>

Following example shows a JSP Expression −

<html>

   <head><title>A Comment Test</title></head>

  

   <body>

      <p>Today's date: <%= (new java.util.Date()).toLocaleString()%></p>

   </body>

</html>

The above code will generate the following result −

Today’s date: 11-Sep-2010 21:24:25

 

JSP Comments

JSP comment marks text or statements that the JSP container should ignore. A JSP comment is useful when you want to hide or “comment out”, a part of your JSP page.

Following is the syntax of the JSP comments −

<%-- This is JSP comment --%>

Following example shows the JSP Comments −

<html>

   <head><title>A Comment Test</title></head>

  

   <body>

      <h2>A Test of Comments</h2>

      <%-- This comment will not be visible in the page source --%>

   </body>

</html>

The above code will generate the following result −

A Test of Comments

 

There are a small number of special constructs you can use in various cases to insert comments or characters that would otherwise be treated specially. Here’s a summary −

S.No. Syntax & Purpose
1 <%– comment –%>

A JSP comment. Ignored by the JSP engine.

2 <!– comment –>

An HTML comment. Ignored by the browser.

3 <\%

Represents static <% literal.

4 %\>

Represents static %> literal.

5 \’

A single quote in an attribute that uses single quotes.

6 \”

A double quote in an attribute that uses double quotes.

JSP Directives

A JSP directive affects the overall structure of the servlet class. It usually has the following form −

<%@ directive attribute=”value” %>

There are three types of directive tag −

S.No. Directive & Description
1 <%@ page … %>

Defines page-dependent attributes, such as scripting language, error page, and buffering requirements.

2 <%@ include … %>

Includes a file during the translation phase.

3 <%@ taglib … %>

Declares a tag library, containing custom actions, used in the page

JSP Actions

JSP actions use constructs in XML syntax to control the behavior of the servlet engine. You can dynamically insert a file, reuse JavaBeans components, forward the user to another page, or generate HTML for the Java plugin.

There is only one syntax for the Action element, as it conforms to the XML standard −

<jsp:action_name attribute=”value” />

Action elements are basically predefined functions. Following table lists out the available JSP Actions −

S.No. Syntax & Purpose
1 jsp:include

Includes a file at the time the page is requested.

2 jsp:useBean

Finds or instantiates a JavaBean.

3 jsp:setProperty

Sets the property of a JavaBean.

4 jsp:getProperty

Inserts the property of a JavaBean into the output.

5 jsp:forward

Forwards the requester to a new page.

6 jsp:plugin

Generates browser-specific code that makes an OBJECT or EMBED tag for the Java plugin.

7 jsp:element

Defines XML elements dynamically.

8 jsp:attribute

Defines dynamically-defined XML element’s attribute.

9 jsp:body

Defines dynamically-defined XML element’s body.

10 jsp:text

Used to write template text in JSP pages and documents.

JSP Implicit Objects

JSP supports nine automatically defined variables, which are also called implicit objects. These variables are −

S.No. Object & Description
1 request

This is the HttpServletRequest object associated with the request.

2 response

This is the HttpServletResponse object associated with the response to the client.

3 out

This is the PrintWriter object used to send output to the client.

4 session

This is the HttpSession object associated with the request.

5 application

This is the ServletContext object associated with the application context.

6 config

This is the ServletConfig object associated with the page.

7 pageContext

This encapsulates use of server-specific features like higher performance JspWriters.

8 page

This is simply a synonym for this, and is used to call the methods defined by the translated servlet class.

9 Exception

The Exception object allows the exception data to be accessed by designated JSP.

We would explain JSP Implicit Objects in a separate chapter.

Control-Flow Statements

You can use all the APIs and building blocks of Java in your JSP programming including decision-making statements, loops, etc.

Decision-Making Statements

The if…else block starts out like an ordinary Scriptlet, but the Scriptlet is closed at each line with HTML text included between the Scriptlet tags.

<%! int day = 3; %>

<html>

   <head><title>IF...ELSE Example</title></head>

  

   <body>

      <% if (day == 1 || day == 7) { %>

         <p> Today is weekend</p>

      <% } else { %>

         <p> Today is not weekend</p>

      <% } %>

   </body>

</html>

The above code will generate the following result −

Today is not weekend

Now look at the following switch…case block which has been written a bit differentlty using out.println() and inside Scriptletas −

<%! int day = 3; %>

<html>

   <head><title>SWITCH...CASE Example</title></head>

  

   <body>

      <%

         switch(day) {

            case 0:

               out.println("It\'s Sunday.");

               break;

            case 1:

               out.println("It\'s Monday.");

               break;

            case 2:

               out.println("It\'s Tuesday.");

               break;

            case 3:

               out.println("It\'s Wednesday.");

               break;

            case 4:

               out.println("It\'s Thursday.");

               break;

            case 5:

               out.println("It\'s Friday.");

               break;

            default:

               out.println("It's Saturday.");

         }

      %>

   </body>

</html>

The above code will generate the following result −

It’s Wednesday.

 

Loop Statements

You can also use three basic types of looping blocks in Java: for, while, and do…while blocks in your JSP programming.

Let us look at the following for loop example −

<%! int fontSize; %>

<html>

   <head><title>FOR LOOP Example</title></head>

  

   <body>

      <%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>

         <font color = "green" size = "<%= fontSize %>">

            JSP Tutorial

      </font><br />

      <%}%>

   </body>

</html>

The above code will generate the following result −

 

JSP Tutorial

 

JSP Tutorial

 

JSP Tutorial

 

Above example can be written using the while loop as follows −

<%! int fontSize; %>

<html>

   <head><title>WHILE LOOP Example</title></head>

  

   <body>

      <%while ( fontSize <= 3){ %>

         <font color = "green" size = "<%= fontSize %>">

            JSP Tutorial

         </font><br />

         <%fontSize++;%>

      <%}%>

   </body>

</html>

The above code will generate the following result −

 

JSP Tutorial

 

 

 

JSP Tutorial

 

 

 

JSP Tutorial

 

JSP Operators

JSP supports all the logical and arithmetic operators supported by Java. Following table lists out all the operators with the highest precedence appear at the top of the table, those with the lowest appear at the bottom.

Within an expression, higher precedence operators will be evaluated first.

Category Operator Associativity
Postfix () [] . (dot operator) Left to right
Unary ++ – – ! ~ Right to left
Multiplicative * / % Left to right
Additive + – Left to right
Shift >> >>> << Left to right
Relational > >= < <= Left to right
Equality == != Left to right
Bitwise AND & Left to right
Bitwise XOR ^ Left to right
Bitwise OR | Left to right
Logical AND && Left to right
Logical OR || Left to right
Conditional ?: Right to left
Assignment = += -= *= /= %= >>= <<= &= ^= |= Right to left
Comma , Left to right

JSP Literals

The JSP expression language defines the following literals −

  • Boolean − true and false
  • Integer − as in Java
  • Floating point − as in Java
  • String − with single and double quotes; ” is escaped as \”, ‘ is escaped as \’, and \ is escaped as \\.
  • Null − null

So, this brings us to the end of blog. This Tecklearn ‘Syntax in JSP’ blog helps you with commonly asked questions if you are looking out for a job in Java Programming. If you wish to learn JSP and build a career Java Programming domain, then check out our interactive, Java and JEE Training, that comes with 24*7 support to guide you throughout your learning period. Please find the link for course details:

https://www.tecklearn.com/course/java-and-jee-training/

Java and JEE Training

About the Course

Java and JEE Certification Training is designed by professionals as per the industrial requirements and demands. This training encompasses comprehensive knowledge on basic and advanced concepts of core Java & J2EE along with popular frameworks like Hibernate, Spring & SOA. In this course, you will gain expertise in concepts like Java Array, Java OOPs, Java Function, Java Loops, Java Collections, Java Thread, Java Servlet, and Web Services using industry use-cases and this will help you to become a certified Java expert.

Why Should you take Java and JEE Training?

  • Java developers are in great demand in the job market. With average pay going between $90,000/- to $120,000/- depending on your experience and the employers.
  • Used by more than 10 Million developers worldwide to develop applications for 15 Billion devices.
  • Java is one of the most popular programming languages in the software world. Rated #1 in TIOBE Popular programming languages index (15th Consecutive Year)

What you will Learn in this Course?

Introduction to Java

  • Java Fundamentals
  • Introduction to Java Basics
  • Features of Java
  • Various components of Java language
  • Benefits of Java over other programming languages
  • Key Benefits of Java

Installation and IDE’s for Java Programming Language

  • Installation of Java
  • Setting up of Eclipse IDE
  • Components of Java Program
  • Editors and IDEs used for Java Programming
  • Writing a Simple Java Program

Data Handling and Functions

  • Data types, Operations, Compilation process, Class files, Loops, Conditions
  • Using Loop Constructs
  • Arrays- Single Dimensional and Multi-Dimensional
  • Functions
  • Functions with Arguments

OOPS in Java: Concept of Object Orientation

  • Object Oriented Programming in Java
  • Implement classes and objects in Java
  • Create Class Constructors
  • Overload Constructors
  • Inheritance
  • Inherit Classes and create sub-classes
  • Implement abstract classes and methods
  • Use static keyword
  • Implement Interfaces and use it

Polymorphism, Packages and String Handling

  • Concept of Static and Run time Polymorphism
  • Function Overloading
  • String Handling –String Class
  • Java Packages

Exception Handling and Multi-Threading

  • Exception handling
  • Various Types of Exception Handling
  • Introduction to multi-threading in Java
  • Extending the thread class
  • Synchronizing the thread

File Handling in Java

  • Input Output Streams
  • io Package
  • File Handling in Java

Java Collections

  • Wrapper Classes and Inner Classes: Integer, Character, Boolean, Float etc
  • Applet Programs: How to write UI programs with Applet, Java.lang, Java.io, Java.util
  • Collections: ArrayList, Vector, HashSet, TreeSet, HashMap, HashTable

Java Database Connectivity (JDBC)

  • Introduction to SQL: Connect, Insert, Update, Delete, Select
  • Introduction to JDBC and Architecture of JDBC
  • Insert/Update/Delete/Select Operations using JDBC
  • Batch Processing Transaction
  • Management: Commit and Rollback

Java Enterprise Edition – Servlets

  • Introduction to J2EE
  • Client Server architecture
  • URL, Port Number, Request, Response
  • Need for servlets
  • Servlet fundamentals
  • Setting up a web project in Eclipse
  • Configuring and running the web app with servlets
  • GET and POST request in web application with demo
  • Servlet lifecycle
  • Servlets Continued
  • Session tracking and filter
  • Forward and include Servlet request dispatchers

Java Server Pages (JSP)

  • Fundamentals of Java Server Page
  • Writing a code using JSP
  • The architecture of JSP
  • JSP Continued
  • JSP elements: Scriptlets, expressions, declaration
  • JSP standard actions
  • JSP directives
  • Introduction to JavaBeans
  • ServletConfig and ServletContext
  • Servlet Chaining
  • Cookies Management
  • Session Management

Hibernate

  • Introduction to Hibernate
  • Introduction to ORM
  • ORM features
  • Hibernate as an ORM framework
  • Hibernate features
  • Setting up a project with Hibernate framework
  • Basic APIs needed to do CRUD operations with Hibernate
  • Hibernate Architecture

POJO (Plain Old Java Object)

  • POJO (Plain Old Java Object)
  • Persistent Objects
  • Lifecycle of Persistent Object

Spring

  • Introduction to Spring
  • Spring Fundamentals
  • Advanced Spring

Got a question for us? Please mention it in the comments section and we will get back to you.

 

0 responses on "Syntax in JSP"

Leave a Message

Your email address will not be published. Required fields are marked *