I started rewriting parts of a web application at work to use
JSTl. I am using the Jakarta taglibs
implementation of the JSTL tags, which is working well for us.
What's caught me by surprise is the reaction to the other people on the
team to JSTL.
the web guy: I expected the web guy to really like the
JSTL tags. The pages are less cluttered and he can work with tags instead of
pages with lots of embeded scriptlets. But, he was quite resistant at first.
First off, none of his tools provide any support for the expression language.
And the need to embed c:out and c:url in attributes of regular html items
really didn't sit well him. He has been very vocal about this. JSP 2.0
allows EL at any point in the page, which will definitely be well received.
The web guy finds the JSTL tags hard to remember. (I can attest
to this too. I'm always forgetting attribute names or messing of the
case of a tag name) As we all move on, it's getting better, but
there's just something slightly akward about some of the tags that
makes it difficult to commit to memory.
Finally, he has a real complaint about not being able to access
java scriptlets to call utility methods in our library. We've
developed a lot of presentation level utility classes that we've
called out from scriptlets for in the past. Using variables and state
from a JSTL c:forEach, for example, in a scriptlet is particularly
ugly. We could rewrite many of these functions as taglibs, but that's
a considerable investment. Instead of doing this, I've got support
for bringing in third party taglibs (I added the jakart string taglib
last week) to make this easier. I think EL functions are exactly what we
are looking for. With functions, when the webguy needs a new function
on a web page we can deliver it to him much more quickly
the java guy: I didn't expect the java guy to care much about
JSTL. But much to my surprise he took to it very well. It only took him
a couple days to digest it and get to the point where he declared scriptlets
to be evil and started redoing all of his pages using only tags. He's eager
to toggle on scripting-invalid. No complaints from me there.
The java guy does a lot of the trickier web stuff with me (leaving
the web guy to worry about the presentation details) like paging,
sorting, trees, tables, etc... Most of these features are used by
several different screens and in multiple workflows. The method we
are using for this sharing is very fragile and we've both been wishing
we could write tags for these things and clean up both the pages
and the struts config file. But we never have.
This weekend I read an article
on JSP 2.0 in JDJ and learned that tag files are coming. Tag
files let you write tags you can use in other pages using only JSP
files. Basically, it turns a parameterized JSP include into a
real taglib. This is EXACTLY the way we have been wanting to work.
We have been dreading doing proper taglibs, and if we wait a while longer
we won't have to.
As for me, I've been using JSTL for a few months and like it.
I am just
surprised by the reactions of the two developers I work with who have
been exposed to my JSTL experiment. Both had exactly the opposite
reaction than I would have expected. There's no shortage of
complaints from any of us. But JSP 2.0 really answers many of our
complaints, so I hope we can get a JSP 2.0 implementation soon.