Introduction
In this article, we will learn how to use
asterisk (*) to call all setter methods of a java bean. Before going forward we
should know what a java bean is?
Java bean
It is a development component for performing a task in an
application. Any ordinary java class with a set of variables and methods can be
called a java bean. The methods present in a java bean must follow a naming
convention. A java bean can be used in a web application to store the state of
the users.
Content of java bean
A java bean contains a set of properties and methods.
Property: - The variables present in the java bean are called properties. A java bean can contain five types of properties they are as below
- Simple property
If a variable does not belong to an array or Boolean data type then it is called a single
property.
- Index property
If the value of a property
can be accessed or modified by using the index of an array then it is called an index property.
- Boolean property
If a property can
store only true or false state then it is called an index property.
- Bound property
If the change in the value of a property must be reflected in other property value then it is called abound property.
Whenever the value of this property gets changed then an event occurs (Java.bean.propertychangedEvent)
listener of the event implements condition for changing other properties value.
- Constraint property
If a condition is required to be met before changing the value of a property then it is
called as constraint property.
Methods
A java bean can contain two types of methods.
- Property modifier (setter method)
- Property accessor (getter method)
Property modifier (setter method)
This
method can be used to change the value of a property. Name of this method must
contain the name of the property and set as its prefix. This method does not return
any value. The datatype of its parameter must match with the data type of property.
Property accessor (getter method)
This method can be used to provide the value of
a property to the user of a JavaBean. Name of this method must contain the name of
the property and get as its prefix. The return type of this method must match with
data type of the property. This method does not accept any parameters.
Advantages
- Reusability
A java bean can be used by
any number of applications. This can be used to perform a common task to
required for a set of jsp.
- Code Abstraction
If a JSP uses a java
bean then it can avoid the use of scriptlets. A user of a java bean need not to know the implementation logic required for the JavaBean. A user uses the java
bean by calling its methods.
Using * to call all setter methods of java
bean
It is a process to call all the setter methods of the bean simultaneously. The
property attribute of <jsp:setProperty> contains '*' as its value. This tag
calls only those setter methods of the property whose names are available in the
requested form field. Here <jsp:setProperty> tag cannot use value attribute.
Example
Create a folder named pack1 inside the classes folder of the context. Store
the javabean file (mybean.java).
mybean.java file
- package pack1;
-
- public class mybean
- {
- private String name, pass;
- public void setName(String n)
- {
- name = n;
- }
- public void setPass(String p)
- {
- pass = p;
- }
- public String getName()
- {
- return name;
- }
- public String getPass()
- {
- return pass;
- }
- }
Compile of bean:- javac mybean.java
beantest.jsp
- <html>
- <body bgcolor="Orange">
- <p> <h3><center>Please enter your user name and\
- password</center></h3></p>
-
- <form>
- <center>Username</center>
- <center><input type ='text' name ="name"></center>
- <center>Password</center>
- <center><input type ='password' name ="pass"></center>
- <center><input type ='submit' value="submit" ></center>
- </form>
-
- <jsp:useBean class="pack1.mybean" id="mb1" />
- <jsp:setProperty name="mb1" property="*"/>
- <% if( request.getParameter("name") !=null)
- {
- %>
- <h2>Name is: <jsp:getProperty name="mb1" property="name" /></h2>
- <h2>Password is: <jsp:getProperty name="mb1" property="pass" /></h2>
- <%
- }
- %>
- </body>
- </html>
Note: - The variables names (name, pass) we have declared in the creation
of the java, bean should be similar to the corresponding property values (name,
pass).
Running the application
Run the tomcat then write the below link in the URL
http://localhost:8081/bean/beantest.jsp
Here bean is the Context path, which we mentioned in the server.xml file, which
is present in (E:\Program Files\Apache Software Foundation\Tomcat 6.0\conf)
directory.
Thanks for reading