| By David Castro | Article Rating: |
|
| April 7, 2005 12:00 AM EDT | Reads: |
21,557 |
The expression "Jack of all trades" ends "and master of none," but in the case of the dotJ Custom Tag Library produced by dotJ Software, it should end "master of some." The dotJ tag library is the Swiss Army knife of tag libraries. It provides tags for many different areas of development, from Model-1 form validation to file uploading and text formatting. But it really shows its mastery with its tags for generating sortable grids and calendar widgets.
The dotJ library is a great place to start when planning a new project, especially for those new to JSP. It provides great baseline functionality in handling a lot of different aspects of your site. It has specialized tags for content formatting, e-mail, and forms (including validation), general utility tags for things like code syntax highlighting and file uploading, and presentation tags for making graphically rich grids and calendars.
The library has a free downloadable demo that provides full functionality, but expires at the end of the month. The next demo version is usually out on the first of the month, which means you can continue to demo the library beyond the current month. Installation is almost as easy as any other tag library installation. The only difference is you have to extract a JavaScript file out of the library's JAR and put it in its own directory accessible by the JSP container.
dotJ released the first version of the library several years ago, and some of its functionality has been duplicated in other projects. For example, some of the functionality provided by its content-formatting tags is in the JSP Standard Tag Library (JSTL). Even in the duplicated areas it's still got a few tricks up its sleeve, such as its handy titlecase tag, which will change "jake jones iii, phd" into "Jake Jones III, PhD." Likewise, its form tags were developed before the wide adoption of the Model-View-Controller (MVC) framework, so its validation functionality isn't necessary on some projects. However, with a bit of work, it's possible to integrate the other features of the form tags, such as tooltips, into an MVC framework. Some of the tags are pre-filled with data, such as the states and countries tags, which makes them particularly handy.
The library's e-mail tags make it easy to send e-mail from an application, including attachments. I use it to enable a site to e-mail me or the Web master from selected error pages automatically.
You can use IO tags from the library to show the size of the files on a system, do SQL queries, upload files, or automatically color-code JSP source code. You can extend the showsource tag by adding color-coding settings for additional languages to a properties file, and use the showsourcemask field to show the code on your site without fear of revealing sensitive information.
It provides some nice-to-have utility tags, such as imagerotator, slideshow, and watermark. They rely on the JavaScript that the tags generate on the client side, but I've never had any cross-browser compatibility issues with the ones I've used. A quick look at its JavaScript shows that it tests not just for Internet Explorer and Mozilla, but Safari, Opera, and several others.
Its grid tags make it easy to provide fat-client appearance and functionality without the fat client. You can add image columns and hyperlink columns. If you connect it directly to a datasource, you can enable in-place editing with text boxes, dropdown lists, radio buttons, and checkboxes. The grid has a built-in feature to export the content of the grid to an Excel spreadsheet file.
I have made extensive use of the library's calendar tags, which were introduced in version 2. You can create both fixed and pop-up calendars. Event dates on the fixed calendar are automatically hyperlinked using the eventlistprovider tag.
It's easy to update the appearance of all dotJ output to match the color scheme of your site because all formatting is done with CSS and properties files.
dotJ Software is very responsive to customer feedback, and has incorporated my requests on numerous occasions. It has a Web site with forums where you can post questions, and responds quickly to e-mail requests to its support department.
Summary
The dotJ tag library is a great toolkit that covers a lot of different areas for most Web projects. It is particularly well suited to JSP neophytes, but makes life easier for veteran developers too.
Published April 7, 2005 Reads 21,557
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By David Castro
David Castro has used JSP for four years. During the day he works as a technical writer, but in his off-time he's the lead Web programmer for Cathedral of Praise.
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- It's the Java vs. C++ Shootout Revisited!
- Cloud Computing Can Revitalize Your Career as Software Developer
- IBM Could "Reinvent" Java: Mills
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- A Brief History of Cloud Computing
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?








































