Using Custom Actions
You might
be wondering
if we are stretching the bean model too far in the previous example.
Perhaps. The CounterBean
does more than hold
information; it also has a non-conforming method for incrementing the
counter. If we stray away from the purely bean model and use methods
with arguments, this may force us to use scriptlets instead of the
standard actions. That’s not necessarily bad, but in this case
we can do better using a custom action instead
of a bean and the standard actions.
A custom action is just like the standard actions we’ve used so far. It has a start tag, which may contain attributes, and an end tag. It can also have a body. Here’s what a custom action looks like:
<ora:incrementCounter scope="session"/>
The JSP specification defines how the standard set of actions can be
extended with custom actions developed by Java programmers in the
team or by a third party. A custom action is used in a JSP page in
exactly the same way as the standard JSP actions you have seen in
previous examples, such as
<jsp:getProperty>
. This makes them easier to
use than beans with methods that must be invoked with scripting code,
since you don’t have to worry about missing braces and
semicolons and other syntax details. A custom action can do pretty
much anything: it has access to all information about the request and
can add content to the response body as well as set response headers.
If you’re a programmer, you should know that a custom action is basically a JavaBeans ...
Get Java Server Pages 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.