java left logo
java middle logo
java right logo
 

Home arrow Book Reviews arrow JSTL in Action
 
 
Main Menu
Home
Java Tutorials
Book Reviews
Java SE Tips
Java ME Tips
Java EE Tips
Other API Tips
Java Applications
Java Libraries
Java Games
Java Network
Java Forums
Java Blog




Most Visited Tips
Java SE Tips
Java ME Tips
Java EE Tips
Other API Tips
Java Applications
Java Libraries
Java Games
Book Reviews
Top Rated Tips
Java SE Tips
Java ME Tips
Java EE Tips
Other API Tips
Java Applications
Java Libraries
Java Games
Book Reviews


Statistics
Registered Users: 3947
Java SE Tips: 614
Java ME Tips: 202
Java EE Tips: 183
Other API Tips: 779
Java Applications: 298
Java Libraries: 209
Java Games: 16
Book Reviews:
 
 
 
JSTL in Action E-mail
User Rating: / 25
PoorBest 
 Book Information

Image

Authors: Shawn Bayern
Paperback: 480 pages
Publisher: Manning Publications (July 2002)
Language: English
ISBN: 1930110529
Product Dimensions: 9.3 x 7.5 x 1.0 inches
ImageAmazon.com Link


 Book Review

Introduction and Target Audiences:

Shawn Bayern had written this book with a specialized and modular approach in his mind. The book being modular in its design and specialized for targeting its various but selected intended readers throws a good stuff for the programmers. Reader can very well identify himself depending upon his prior knowledge of the subject and can easily start with the topics intended for him. This had become possible due to a clean modularity in the bookís contents. Overall it tries to make JSP, and web development in general, more accessible. JSTL in Action is not a book meant only for programmers rather it equally pleases the page authors also. Even people having a working knowledge of simple markup language can also gain from it. Taking the interest of page authors further the book gives them an added advantage to learn some more in-depth aspects about JSTL.

Organization of book:

Organization of this book is one of its most important as well as catchy aspect. The way it serves the readers with its contents is worth to be noticed. It is different from other JSTL books as it does not tell you anything and everything of JSTL. Rather it tries to capture only the important and relevant topics on the subject. Book represents its contents in a good way by dividing them in four parts with each part being equally important for the reader. Although the initial parts of the book may not be of great help for advance Java programmers but definitely they wonít get disappointed by the rich technical treat served by the later parts. The book in this way displays a good combination for its diverse set of readers. Another aspect which will catch the userís attention is its limited set of relevant examples. Author had prevented himself from listing unnecessary coding examples in the book. But alongside he had discussed some really helpful code samples in the book.

Book starts with part one focusing on some of the technologies that serve as a foundation to Jstl. Not going into deep the author effectively gives a brief overview of web browserís environment in order to make the readers comfortable with the further topics coming in the book. Taking the introductory session further book extensively speaks regarding the JSTLís role in web applications, requirements for running JSTL etc. Next the book describes the importance of XML and JSP in understanding the Jstl features. Different tags of JSP along with its scoped variables had been discussed in the later part of the second chapter. Here the author gives the advanced readers an option to conditionally skip out the first part as he had raised some very basic and general points in this section.

Second Part of the book talks about JSTLís expression language, conditions, and loops along with some database access features, text importing and formatting details. Author had gone into a much details while explaining the JSTLís expression language syntax. This enables the reader to take advantage of the rich literature written by the author regarding the same. It starts with taking care of the accessing procedure and storing of scope variables and moves on to printing of dynamic content and production and reading of HTML forms. Chapter four and five gives a detailed overview of some of the flow controlling aspects. Reader gets benefited by some useful discussion on simple as well as mutually exclusive conditions, Jstlís conditional tags, parsing of strings and flow control with loops.

This book seems to be a classic creation on JSTL if one compares it with other literature available in the market. Its easy and attractive presentation keeps the interest of readers alive in the book. While chapter six talks about text importing issues the next two chapters are devoted for XML fragments. The text importing aspect had been extensively discussed in the book. Here author properly takes care of issues like data retrieval from URLs, header-footer creation, redirecting users to new pages etc. There is a good treat for the readers when it comes to XML fragments. Book spends sufficiently good time with the XML Path Language. XPathís vision, its syntax, its significance in JSTL etc had been taken care of. Moreover working with XML fragments had also been talked about.

Chapter nine and ten throws light on JSTLís database support and formatting issues. Author had clearly stated the need and methods as to how programmers can tap the various database supporting aspects of JSTLs .While discussing this author had tried to raise all the important database related issues which one can need while building his application. Book also mentions some formatting aspects needed in JSTL. Printing and parsing of numbers and dates, overriding of Time zones and locales as well as internationalization of text messages had been taken care of.

Part three serves the readers with more complete and integrated examples of JSTL. While chapter eleven deals with some common tasks which a user can perform with JSTL chapter twelve revolves around some of the dynamic features for websites. Readers get to know some of the common tasks like reading check boxes and dates from HTML, forms validation and error handling etc. in an effective way. Chapter thirteen is meant for giving its readers a hands-on experience on building a website of their own. It tackles issues right from designing a reusable layout to adding dynamic content to the website. This chapter shuts up all those mouths complaining for lack of practical coding examples in the book.

Last part of the book discusses how to configure JSTL, integrate Java code, and write custom tags using JSTLís API. The concluding two chapters relates to some performance issues as well as JSTLs usage for custom tag development. Readers can find some fine tuning aspects of JSTLís behavior and performance. The book concludes with issues like development of custom tags which gives the readers an added advantage to mould the tags in a manner best suited for his needs.

Finally

Readers interested in seeing more coding examples may initially get disappointed by this book as it unnecessarily does not flood its pages with them. But one can easily notice the effort put in by the author in developing a well knitted combination of theory as well as relevant coding examples. People who want to get instant but complete knowledge on JSTL will find this book as a great help. The book proves its worth for people who are in need to start the development process early. Overall it is an excellent work by Shawn Bayern and a treat for the readers. I would rather recommend this book to all the aspiring JSTL programmers. A must-have in every Java programmersí book-shelf.


 Table of Contents

    PART 1 Background

  1. Chapter 1 Dynamic web sites

    • The boring life of a web browser
    • The simple ideas behind dynamic web content
    • What you need to run JSTL
    • Real-world web applications

  2. Chapter 2 Foundation: XML and JSP

    • Introduction to XML
    • Introduction to JSP

    PART 2 Learning JSTL

  3. Chapter 3 The expression language

    • Expressions and the <c:out> tag
    • Scoped variables and the expression language
    • Request parameters and the expression language
    • More powerful expressions
    • Saving data with <c:set>
    • Deleting data with <c:remove> What you need to run JSTL

  4. Chapter 4 Controlling flow with conditions

    • Different kinds of decisions
    • Yes-or-no conditions with <c:if>
    • Mutually exclusive conditions with <c:choose>, <c:when>,and <c:otherwise>

  5. Chapter 5 Controlling flow with loops

    • General-purpose looping with <c:forEach>
    • Iterating over strings with <c:forTokens>
    • Advanced iteration with <c:forEach> and <c:forTokens>
    • Loop example: scrolling through results

  6. Chapter 6 Importing text

    • Including text with the <c:import> tag
    • Redirecting with <c:redirect>
    • Formatting URLs with <c:url>

  7. Chapter 7 Selecting XML fragments

    • XPathís vision of an XML document
    • XPathís basic syntax
    • XPath variables and JSTL
    • JSTL, XPath, and namespaces
    • More advanced XPath

  8. Chapter 8 Working with XML fragments

    • Parsing documents with <x:parse>
    • Accessing XML with <x:out> and <x:set>
    • Control flow based on XML documents
    • XML transformations using JSTL
    • An XML example: reading RSS files More advanced XPath

  9. Chapter 9 Database-driven pages

    • When to use JSTLís database support
    • Setting up a database connection with <sql:setDataSource>
    • Performing queries with <sql:query>
    • Modifying data with <sql:update>
    • Using <sql:param> with adjustable queries
    • Managing transactions with <sql:transaction>
    • SQL example: a hit counter

  10. Chapter 10 Formatting and internationalization

    • Printing numbers with <fmt:formatNumber>
    • Printing dates with <fmt:formatDate>
    • Reading numbers with <fmt:parseNumber>
    • Reading dates with <fmt:parseDate>
    • Overriding time zones with <fmt:timeZone> and <fmt:setTimeZone>
    • Overriding locales with <fmt:setLocale>
    • Internationalizing text messages with <fmt:message>, <fmt:param>,<fmt:bundle>, and <fmt:setBundle>

    PART 3 JSTL IN ACTION

  11. Chapter 11 Common tasks

    • Handling checkbox parameters
    • Accepting dates
    • Handling errors
    • Validating input

  12. Chapter 12 Dynamic features for web sites

    • An online survey
    • A message board

  13. Chapter 13 Case study in building a web site

    • Managing the layout
    • Adding dynamic content
    • Registering users
    • Authenticating users
    • Personalizing the site.

    PART 4 JSTL FOR PROGRAMMERS

  14. Chapter 14 Control and performance

    • Scripting elements and the JSTL rtexprvalue libraries
    • Modifying properties with <c:set>
    • Advanced techniques for importing text
    • Advanced XML parsing and manipulation
    • Deciphering requests with <fmt:requestEncoding>
    • Exposing data to JSP pages
    • Configuring JSTL
    • Enforcing good page-authoring habits

  15. Chapter 15 Using JSTL to develop custom tags

    • Developing and installing tag libraries
    • Developing conditional tags
    • Developing iteration tags

  16. Appendix A : JSTL reference

    • A.1 Expression language syntax
    • A.2 Core tag library
    • A.3 XML tag library
    • A.4 Database tag library
    • A.5 Formatting tag library

  17. Appendix B: JSTL API (for developers)

    • B.1 Configuration variables
    • B.2 Conditions and loops
    • B.3 Interoperating with JSTLís database tags
    • B.4 Using JSTLís localization algorithms

  18. Appendix C: Database tags and SQL

    • C.1 SQL and <sql:update>
    • C.2 SQL and <sql:query>
    • C.3 SQL miscellany
    • C.4 Summary

  19. Appendix D: References and resources

    • D.1 JSP Standard Tag Library
    • D.2 XML-related references
    • D.3 Databases
    • D.4 Related standards
    • D.5 Miscellaneous references

 Overview of Chapters

    PART 1 Background

  1. Chapter 1 Dynamic web sites

    • An introduction of a typical web browserís environment.
    • The ideas behind dynamic web content.
    • What JSTL looks like
    • What do you require for running JSTL.
    • What is JSTLís role in web applications?

  2. Chapter 2 Foundation: XML and JSP

    • Introduction to XML
    • The basics of XML syntax
    • An introduction to JSP, its tags, etc.
    • JSTLís tag libraries in context.
    • JSPís scoped variables.
    • How you can make JSP to organize data.

    PART 2 Learning JSTL

  3. Chapter 3 The expression language

    • JSTLís expression language syntax
    • What is the basic syntax to access scoped variables.
    • How you can print dynamic content.
    • How you can store and retrieve scoped variables
    • How you can produce and read HTML forms.
    • Some more powerful expressions.

  4. Chapter 4 Controlling flow with conditions

    • Some simple conditions.
    • Mutually exclusive conditions
    • Why JSTL has complex conditional tags
    • How the complex conditional tags work.
    • What are the rules for using the complex conditional tags?
    • How you can nest condition tags.
    • What are some syntactic rules for JSTL conditions?

  5. Chapter 5 Controlling flow with loops

    • How you can loop over collections with <c:forEach>.
    • How you can parse strings with <c:forTokens>.
    • How you can iterate over subsets.
    • How you can loop over numbers.
    • How you can determine current loop status.

  6. Chapter 6 Importing text

    • How you can import text from web pages.
    • How you can retrieve data from URLs.
    • How you can save the retrieved information for later use.
    • Creating common headers and footers
    • How you can manage URLs and request parameters.
    • How you can redirect users to new pages.

  7. Chapter 7 Selecting XML fragments

    • Significance of XPath (the XML Path Language).
    • What is the basic syntax of XPath
    • XPathís vision of an XML document.
    • What is JSTLís use of XPath variables.
    • XML namespaces and XPath in JSTL

  8. Chapter 8 Working with XML fragments

    • How you can refer to XML documents with XPath variables.
    • Control flow based on XML documents
    • Printing parts of XML documents.
    • Loops and conditions with XML documents
    • How you can convert one XML document into another.
    • How you can invoke XSLT transformations from your pages.

  9. Chapter 9 Database-driven pages

    • When to use JSTLís database support
    • How to set up a database connection.
    • How to perform database queries and updates
    • How you can have a general purpose template query that can be customized separately.
    • What are the different ways to access data youíve retrieved?
    • Why and how to use database transactions

  10. Chapter 10 Formatting and internationalization

    • What are the various JSTL tags that help you input and output numbers and dates.
    • How you can print numbers and dates.
    • How you can parse numbers and dates.
    • How to override Time zones and locales.
    • How you can internationalize text messages.

    PART 3 JSTL IN ACTION

  11. Chapter 11 Common tasks

    • How to read check boxes from HTML forms.
    • How you can read dates from HTML forms.
    • How to handle errors coming across JSP pages.
    • How to validate user input.
    • What are the different kinds of forms validation?

  12. Chapter 12 Dynamic features for web sites

    • How to build complicated applications.
    • Writing an online survey application
    • How you can build a discussion forum.
    • How to link to appropriate message boards.
    • How to set up sample applicationsí databases.

  13. Chapter 13 Case study in building a web site

    • How to design a reusable layout.
    • How you can plug modular channels into a web site.
    • How you can add dynamic content to the website.
    • How to register and authenticate users.
    • How you can personalize a web site.

    PART 4 JSTL FOR PROGRAMMERS

  14. Chapter 14 Control and performance

    • How you can fine tune JSTLís behavior and performance.
    • How to mix JSTL tags and embedded Java in your web pages.
    • Exposing data for JSTL tags
    • What are the advanced features of JSTL tags.
    • Advanced text importing as well as XML parsing and manipulation techniques.
    • How you can control and configure page authorsí environments.
    • How to configure JSTL.

  15. Chapter 15 Using JSTL to develop custom tags

    • The basics of tag-library development
    • How to develop and install tag libraries.
    • Tag-library descriptor (TLD) files
    • How you can develop conditional tags.
    • How to integrate custom conditional tags with standard tags.
    • How you can develop iteration tags.

Reviewer: Sumit Kulshreshtha


 Related Tips

 
< Prev   Next >

Page 1 of 0 ( 0 comments )

You can share your information about this topic using the form below!

Please do not post your questions with this form! Thanks.


Name (required)


E-Mail (required)

Your email will not be displayed on the site - only to our administrator
Homepage(optional)



Comment Enable HTML code : Yes No



 
       
         
     
 
 
 
   
 
 
java bottom left
java bottom middle
java bottom right
RSS 0.91 FeedRSS 1.0 FeedRSS 2.0 FeedATOM FeedOPML Feed

Home - About Us - Privacy Policy
Copyright 2005 - 2008 www.java-tips.org
Java is a trademark of Sun Microsystems, Inc.