Value Beans

Value beans are useful even without EJB. They are handy for capturing form input, because the <jsp:setProperty> JSP action automatically sets all properties with names corresponding to request parameter names, as described in Chapter 8. In addition, the <jsp:getProperty> action and the JSP EL let you include the property values in the response without using scripting elements.

Another benefit of value beans is that they can be used to minimize expensive database accesses for entities that rarely change their value. By placing a value bean in the application scope, all users of your application can use the cached value instead. Example 20-1 shows the source code for the ProductBean used in Chapter 10 to represent products in an online shopping application. This is a pure value bean, with only property accessor methods, that can represent data retrieved from a database.

Example 20-1. ProductBean
package com.ora.jsp.beans.shopping;
  
import java.io.*;
  
public class ProductBean implements Serializable {
    private String id;
    private String name;
    private String descr;
    private float price;
  
    public String getId(  ) {
        return id;
    }
  
    public String getName(  ) {
        return name;
    }
  
    public String getDescr(  ) {
        return descr;
    }
  
    public float getPrice(  ) {
        return price;
    }
    
    void setId(String id) {
        this.id = id;
    }
  
    void setName(String name) {
        this.name = name;
    }
  
    void setDescr(String descr) {
        this.descr = descr;
    }
  
    void setPrice(float price) {
        this.price = price;
    }
}

This bean is created and initialized by ...

Get JavaServer Pages, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.