JSP

JSP UseBean Tag – Java Server Pages

The jsp useBean action tag is used to locate or instantiate a bean class. If bean object of the Bean class is already created, it doesn’t create the bean depending on the scope. But if object of bean is not created, it instantiates the bean.

Syntax of jsp:useBean action tag

<jsp:useBean id= "instanceName" scope= "page | request | session | application" 
class= "packageName.className" type= "packageName.className"
beanName="packageName.className | <%= expression >" >
</jsp:useBean>

Attributes and Usage of jsp:useBean action tag

  1. id: is used to identify the bean in the specified scope.
  2. scope: represents the scope of the bean. It may be page, request, session or application. The default scope is page.
    • page: specifies that you can use this bean within the JSP page. The default scope is page.
    • request: specifies that you can use this bean from any JSP page that processes the same request. It has wider scope than page.
    • session: specifies that you can use this bean from any JSP page in the same session whether processes the same request or not. It has wider scope than request.
    • application: specifies that you can use this bean from any JSP page in the same application. It has wider scope than session.
  3. class: instantiates the specified bean class (i.e. creates an object of the bean class) but it must have no-arg or no constructor and must not be abstract.
  4. type: provides the bean a data type if the bean already exists in the scope. It is mainly used with class or beanName attribute. If you use it without class or beanName, no bean is instantiated.
  5. beanName: instantiates the bean using the java.beans.Beans.instantiate() method.

Simple example of jsp:useBean action tag

In this example, we are simply invoking the method of the Bean class.
EmployeeData.java

package com.dineshonjava;

/**
 * @author Dinesh Rajput
 *
 */
public class EmployeeData {
 
 public String getAge(String name){
  return "Age of "+name+" is 27 Years";
 }
 
 public int getSalary(){
  return 70000;
 }
 
 public int getArea(int height, int width){
  return (height*width);
 }
}

index.jsp

<jsp:useBean id="obj" class="com.dineshonjava.EmployeeData"/>
<%
String age = obj.getAge("Dinesh Rajput");
out.println(age);
%>
<br/>
<%
int salary = obj.getSalary();
out.println("Salary is Rs. "+salary);
%>
<br/>
<%
int area  = obj.getArea(200, 100);
out.println("Area of Home is "+area+" Sq-ft" );
%>

Make a dirctory myapp/com/dineshonjava/ at webapp folder of tomcat server at
C:Program Files (x86)Apache Software FoundationTomcat 7.0webapps
and make class file EmployeeData.class and create index.jsp file with in myapp folder.
Now restart tomcat server and hit the following url.
http://localhost:8080/myapp/index.jsp

Download Example

 

<<Previous <<   || Index ||   >>Next >>
Previous
Next
Dinesh Rajput

Dinesh Rajput is the chief editor of a website Dineshonjava, a technical blog dedicated to the Spring and Java technologies. It has a series of articles related to Java technologies. Dinesh has been a Spring enthusiast since 2008 and is a Pivotal Certified Spring Professional, an author of a book Spring 5 Design Pattern, and a blogger. He has more than 10 years of experience with different aspects of Spring and Java design and development. His core expertise lies in the latest version of Spring Framework, Spring Boot, Spring Security, creating REST APIs, Microservice Architecture, Reactive Pattern, Spring AOP, Design Patterns, Struts, Hibernate, Web Services, Spring Batch, Cassandra, MongoDB, and Web Application Design and Architecture. He is currently working as a technology manager at a leading product and web development company. He worked as a developer and tech lead at the Bennett, Coleman & Co. Ltd and was the first developer in his previous company, Paytm. Dinesh is passionate about the latest Java technologies and loves to write technical blogs related to it. He is a very active member of the Java and Spring community on different forums. When it comes to the Spring Framework and Java, Dinesh tops the list!

Share
Published by
Dinesh Rajput

Recent Posts

Strategy Design Patterns using Lambda

Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…

2 years ago

Decorator Pattern using Lambda

Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…

2 years ago

Delegating pattern using lambda

Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…

2 years ago

Spring Vs Django- Know The Difference Between The Two

Technology has emerged a lot in the last decade, and now we have artificial intelligence;…

2 years ago

TOP 20 MongoDB INTERVIEW QUESTIONS 2022

Managing a database is becoming increasingly complex now due to the vast amount of data…

2 years ago

Scheduler @Scheduled Annotation Spring Boot

Overview In this article, we will explore Spring Scheduler how we could use it by…

3 years ago