JavaBeat

  • Home
  • 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)
  • Privacy
  • Contact Us

JSP Directives

January 17, 2014 by Krishna Srinivasan Leave a Comment

  • Java EE Tutorials
  • JSP Tutorials
  • Recommended Books for Java Server Pages (JSP)

Directives specifies translation time instruction to JSP engine. There are three types of directives:

  • page directive
  • include directive
  • taglib directive

JSP Page Directive

This directive can be used to specify any of a number of page-dependent attributes such as scripting language to use, class to extend, page to be imported and more. Syntax of JSP page directive is as follows:

[code lang=”html”]
<%@ page attribute="value"%>
[/code]

Where attribute can be any of the following:

  • import– It is used to import classes, interface of a package similar to import statement in Java.
  • contentType – It defines MIME(Multipurpose Internet Mail Extension) type of response. You can specify any of these values:text/xml, text/html, application/msword, or text/html:charset=ISO-8859-1. Default value is ” “text/html;charset=ISO-8859-1″.”.
  • extends – It defines parent class of generated servlet class.
  • info – Defines information about jsp page which can later be retrieved by using getServletInfo() method of Servlet interface.
  • buffer – Defines size of the buffer used to handle output stream.Default buffer size is 8kb or greater.
  • language – It defines programming langauge used in jsp page.default value is “java”.
  • isELIgnored – It specifies whether EL(Expression Langauge) elements are ignored on the page.The value is either true or false.The value is false by default.
  • isThreadSafe – Defines the threading model for the generated servlet. The default value is true.If make it false,it will wait until the JSP finishes responding to a request before passing another request to it.
  • errorPage – It is used to define the error page. If an error occurs on current page then it will be redirected to the error page defined by this attribute.
  • isErrorPage – It declares that current page is the error page.
  • autoFlush – It defines whether output should be flushed automatically when buffer is filled.The default is true.
  • pageEncoding – It defines character encoding of output stream.The default is ISO-8859-1.
  • session – It defines whether JSP page is participating in HTTP session.

Example – import attribute

Listing 1 – example.jsp

[code lang=”html”]
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ page import="java.util.Date" %>
Today is: <%= new java.util.Date() %>
</body>
</html>
[/code]

Output
Execute the above example.jsp in Eclipse by selecting Run As > Run On Server, output as below would be seen:
jsp_importattr_demo

Example – contentType attribute

Listing 2 – example.jsp

[code lang=”html”]
<html>
<body>

<%@ page contentType="text/xml" %>
Today is: <%= new java.util.Date() %>

</body>
</html>
[/code]

Output
Execute the above example.jsp in Eclipse by selecting Run As > Run On Server, output as below would be seen:
jsp_contenttypeattr_demo

Example – info

Listing 3 – example.jsp

[code lang=”html”]
<html>
<body>
<%@ page info="This page is by Javabeat…" %>
</body>
</html>
[/code]

The web container creates a method as below:

[code lang=”html”]
public String getServletInfo() {
return "This page is by Javabeat…";
}
[/code]

Example – buffer

Listing 4 – example.jsp

[code lang=”html”]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ page buffer="10kb" %>
Today is: <%= new java.util.Date() %>
</body>
</html>
[/code]

Example – errorPage and isErrorPage attribute

Listing 5 – example.jsp

[code lang=”html”]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ page errorPage="errorpage.jsp"%>
<%=10/0 %>
</body>
</html>
[/code]

Listing 6 -errorpage.jsp

[code lang=”html”]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ page isErrorPage="true" %>
Exception occured..The exception is: <%= exception %>
</body>
</html>
[/code]

Output
Execute the above example.jsp in Eclipse by selecting Run As > Run On Server, output as below would be seen:
jsp_errorpage_demo

JSP Include Directive

It is used to include any contents of files such as jsp file, html file or text file. Syntax of JSP include directive:

[code lang=”html”]
<%@ include file="file name" %>
[/code]

Let us write an example.jsp as below. This will include a file called welcome.jsp:
Listing 7 -errorpage.jsp

[code lang=”html”]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file="welcome.jsp" %>
Today is: <%= new java.util.Date() %>
</body>
</html>
[/code]

Listing 8 -welcome.jsp

[code lang=”html”]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>Welcome to Javabeat</h2>

</body>
</html>
[/code]

Output
Execute the above example.jsp in Eclipse by selecting Run As > Run On Server, output as below would be seen:
jsp_includedirective_demo

JSP Taglib Directive

It is used to define tag library that defines custom tags. This directive includes URI and custom tag prefix. Syntax of JSP include directive:

[code lang=”html”]
<%@ taglib uri="uri" prefix="prefix_to_the_Tag" >
[/code]

where

  • uri is the resolved to the location the container understands
  • prefix attribute informs a container what bits of markup are custom actions.

Let us see an example below which demonstrates use of taglib directive:
Listing 9 -example.jsp

[code lang=”html”]
<%@ page contentType="text/html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>JSP is Easy</title>
</head>
<body bgcolor="white">
<h1>JSP is as easy as …</h1>
<%– Calculate the sum of 1 + 2 + 3 dynamically –%>
1 + 2 + 3 = <c:out value="${1 + 2 + 3}" />
</body>
</html>

[/code]

Previous Tutorial :  JSP Actions   ||  Next Tutorial : JSP Implicit Objects

Filed Under: Java EE Tagged With: JSP 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.

Leave a Reply Cancel reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Follow Us

  • Facebook
  • Pinterest

As a participant in the Amazon Services LLC Associates Program, this site may earn from qualifying purchases. We may also earn commissions on purchases from other retail websites.

JavaBeat

FEATURED TUTORIALS

Answered: Using Java to Convert Int to String

What is new in Java 6.0 Collections API?

The Java 6.0 Compiler API

Copyright © by JavaBeat · All rights reserved