Using Actions from a Tag Library

The custom action described in Table 7-1 does exactly the same thing as the second bean used in Chapter 6: it adds a message from a specified category to a page.

Table 7-1. Attributes for <ora:motd>

Attribute name

Java type

Dynamic value accepted

Description

category
String

No

Mandatory. The message category, either thoughts or quotes.

This custom action has one mandatory attribute named category, used to select the type of message you want. Let’s get back to the “Java type” and “Dynamic value accepted” columns at the end of this chapter.

Example 7-2 shows the message.jsp page again, now with the custom action elements highlighted.

Example 7-2. Custom action elements (message.jsp)

<%@ page contentType="text/html" %>
<%@ taglib prefix="ora" uri="orataglib" %>
  
<html>
  <head>
    <title>Messages of the Day</title>
  </head>
  <body bgcolor="white">
    <h1>Messages of the Day</h1>
    <h2>Deep Thoughts - by Jack Handey</h2>
    <i>
      <ora:motd category="thoughts" />
    </i>
  
    <h2>Quotes From the Famous and the Unknown</h2>
    <i>
      <ora:motd category="quotes" />
    </i>
  </body>
</html>

First note how the <ora:motd> element name prefix matches the prefix assigned to the custom tag library by the taglib directive. The syntax for a custom action element is the same as for standard actions: an opening tag, possibly with attributes, a body, and a closing tag; or just one tag ending with /> if no body is used (as in Example 7-2). Standard actions, JSTL actions and custom actions; they ...

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.