Skip to Content
JavaServer Pages, Second Edition
book

JavaServer Pages, Second Edition

by Hans Bergsten
August 2002
Intermediate to advanced
688 pages
23h
English
O'Reilly Media, Inc.
Content preview from JavaServer Pages, Second Edition

Chapter 21. Advanced Custom Tag Library Features

In the previous chapter, you learned how to develop basic tag handlers, such as conditional and iteration actions, with and without access to the element body. But there’s a lot more that you can do. In this chapter we look at some more advanced features: how actions can cooperate, how to verify that actions are used correctly, how to bundle listener classes with a tag library, and how to convert text attribute values into types more appropriate for the tag handler.

Developing Cooperating Actions

It’s often necessary to develop custom actions so that they can be combined with other actions, letting them cooperate in some fashion. You have seen examples of this throughout this book. For instance, in Chapter 11, <sql:param> action elements are nested within the body of a <sql:query> action to set the values of placeholders in the SQL statement. Another example of cooperation is how the <c:forEach> action can use the query result produced by the <sql:query> action. In this section, we take a look at the cooperation techniques demonstrated by these two examples: explicit cooperation between a parent element and elements nested in its body and implicit cooperation through objects exposed as scoped variables.

Using Explicit Parent-Child Cooperation

One example of explicit parent-child cooperation is the <ora:forward> action with nested <ora:param> actions used in Chapter 10:

<ora:forward page="product1.jsp"> <ora:param name="id" value="${product.id}" ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

JavaServer Pages, 3rd Edition

JavaServer Pages, 3rd Edition

Hans Bergsten
Beginning JavaServer Pages™

Beginning JavaServer Pages™

Vivek Chopra, Sing Li, Rupert Jones, John T. Bell, Jon Eaves
JavaServer Faces

JavaServer Faces

Hans Bergsten

Publisher Resources

ISBN: 059600317XCatalog PageErrata