Preface

I originally got involved creating the JSP Standard Tag Library (JSTL) when Eduardo Pelegri-Llopart at Sun noticed my emails on an Apache Jakarta mailing list and thought I needed something to keep me busy.

This wasn?t strictly true?I already had quite enough on my plate?but I soon found myself growing more and more interested in JSP tag libraries and the JSTL effort. Soon, I was spending a good portion of my waking hours on it (and some nonwaking hours, too).

If you like to design things, then helping to create a new standard and managing its reference implementation are thrilling tasks. Working with the Java Community Process means you meet bright, engaging people from all over the world, and then spend hundreds of hours arguing with them about technical details. Like most of my idiosyncratic pastimes (such as purchasing high-efficiency air filters or watching the British Parliament on television), it might be hard to explain why I?ve had so much fun with the Java Community Process?but it?s been a blast.

However, I don?t think my enjoyment of the process alone explains my enthusiasm for JSTL. Rather, JSTL has a special appeal because its goal is to make JSP, and web development in general, more accessible. Just as important, JSTL?s design reminds me why I like Java in the first place. It?s maintainable, based on thoughtful, careful principles, and easy to use. JSTL takes Java?s and JSP?s advantages, packages them, and places them in your reach even if you don?t know how to program yet.

This book will show you how to make the most of JSTL. It begins without assuming you know anything more than HTML, and it gently introduces you to all the principles you?ll need to produce flexible, powerful web pages. The goal of this book isn?t to satisfy my own ego by showing you how subtle and tricky technology can be, but instead to equip you to handle any JSTL-related issue that arises when you produce real-world, dynamic web sites. If you read an example in this book and think, ?I didn?t realize it could be so easy,? then JSTL has done its job?and so have I.