JSP Tutorials - Herong's Tutorial Examples - v5.11, by Herong Yang
"jsp:useBean" Action Elements
This section provides a tutorial example on how to use the 'jsp:useBean' action element to initiate a JavaBean object into a JSP page. 'jsp:setProperty' and 'jsp:getProperty' action elements are used save and retrieve values to and from JavaBean objects.
useBean is a JSP action element that initiates a JavaBean object into the JSP page using the following syntax:
<jsp:useBean id="o_name" class="c_name"/>
where "o_name" is the name of the object to be created, and "c_name" is the fully qualified class name of the JavaBean class from which the object will be instantiated.
Once a JavaBean object is loaded into the page, you can use two other action elements to manipulate it:
<jsp:setProperty name="o_name" property="p_name" value="p_value"/> <jsp:getProperty name="o_name" property="p_name"/>
The "setProperty" action will set a new value to the specified property of the specified JavaBean object. The "getProperty" action will get the current value of the specified property of the specified JavaBean object. This value will be converted into a string.
The loaded JavaBean object can also be used in other scripting elements in the same JSP page.
Here is an example JavaBean, CacheBean.java, that will be used in out test JSP pages:
/* CacheBean.java * Copyright (c) 2002 HerongYang.com. All Rights Reserved. */ package herong; import java.io.*; public class CacheBean implements Serializable { private String text = "null"; public CacheBean() {} public String getText() { return text; } public void setText(String text) { this.text = text; } public String getInfo() { return new String("CacheBean - Version 1.00"); } }
Here is a simple JSP page to show you how to use JavaBean, UseBean.jspx:
<?xml version="1.0"?> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.3"> <!-- UseBean.jsp - Copyright (c) 2006 HerongYang.com. All Rights Reserved. --> <jsp:directive.page contentType="text/html"/> <html><body> <jsp:directive.page import="herong.CacheBean"/> <!-- Must use fully qualified class name <jsp:useBean id="b" class="CacheBean"/> --> <jsp:useBean id="b" class="herong.CacheBean"/> <jsp:setProperty name="b" property="text" value="Hello world!"/> Property from my JavaBean: <jsp:getProperty name="b" property="text"/> <br/> Info from my JavaBean: <jsp:expression>b.getInfo()</jsp:expression> </body></html> </jsp:root>
To test this JSP page, compile CacheBean.java with JDK, and deploy the JavaBean class and the JSP page to the Tomcat server:
herong> javac herong\CacheBean.java herong> xcopy herong \local\tomcat\webapps\ROOT\WEB-INF\classes\herong Does \local\tomcat\webapps\ROOT\WEB-INF\classes\herong specify a file name or directory name on the target (F = file, D = directory)? d herong\CacheBean.class herong\CacheBean.java 2 File(s) copied herong> copy UseBean.jspx \local\tomcat\webapps\ROOT 1 file(s) copied.
Visit http://localhost:8080/UseBean.jspx page. You should see:
Property from my JavaBean: Hello world! Info from my JavaBean: CacheBean - Version 1.00
Note that:
Table of Contents
JSP (JavaServer Pages) Overview
Tomcat Installation on Windows Systems
Syntax of JSP Pages and JSP Documents
►JavaBean Objects and "useBean" Action Elements
►"jsp:useBean" Action Elements
"jsp:useBean" Requires Fully Qualified Class Name
Servlet Class Converted from UseBean.jspx
Setting and Getting JavaBean's Properties
Using JavaBean Objects in Scripting Elements
Using Java Objects as JavaBeans
getProperty() Error on Tomcat 7
Refreshing Loaded JavaBean Classes
Importing Unnamed Package Class Error
Using JavaBean without Import Element Error
Creating JavaBean Classes in Named Packages
"NoClassDefFoundError" Exception
Managing HTTP Response Header Lines
Non-ASCII Characters Support in JSP Pages
Overview of JSTL (JSP Standard Tag Libraries)
Multiple Tags Working Together
Using Tomcat on CentOS Systems
Connecting to SQL Server from Servlet