Setting Bean Properties

If a bean property is writable (write-only or read/write access), you can set the value using another standard action: <jsp:setProperty>. Table 6-2 shows a bean that is similar to the CartoonBean used in the previous example, but that also has a writable property named category.

Table 6-2. Properties for com.ora.jsp.beans.motd.MixedMessageBean

Property name

Java type

Access

Description

category
String

Write

The message category, either thoughts or quotes

message
String

Read

The current message in the selected category

Instead of image files, the MixedMessageBean has a property that contains a funny message (funny to me at least -- I hope you agree). The bean maintains messages of different types, and the write-only category property is used to select the type you want. Example 6-3 shows how you can use this feature.

Example 6-3. A page setting a bean property (message.jsp)

<html>
  <head>
    <title>Messages of the Day</title>
  </head>
  <body bgcolor="white">
    <h1>Messages of the Day</h1>
  
    <jsp:useBean id="msg" 
      class="com.ora.jsp.beans.motd.MixedMessageBean" />
  
    <h2>Deep Thoughts - by Jack Handey</h2>
  
    <jsp:setProperty name="msg" property="category"
      value="thoughts" />
  
    <i>
      <jsp:getProperty name="msg" property="message" />
    </i>
  
    <h2>Quotes From the Famous and the Unknown</h2>
  
    <jsp:setProperty name="msg" property="category"
      value="quotes" />
  
    <i>
      <jsp:getProperty name="msg" property="message" />
    </i>
  
  </body>
</html>

As in the previous example, the <jsp:useBean> ...

Get JavaServer Pages, Second 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.