Thanks for the different comments on the topics of taglibs.  Some
follow-ups...

First off, I think it is unwise for anybody to say "thou shall do XXX".
I like tag libraries quite a bit, but I've seen many people who are
happy embedding code directly into their JSP pages.  If it works for
you, go for it.  There are a few things I really don't like about
scriptlets but in some cases, for some people, they are the right tool
to get the job done.

If you are comfortable writing scriptlets, you may still want to use
custom actions in combination with your scriptlets (and expressions).
Taglibs are very useful when you start reusing them, or combining them.
We have several efforts ongoing to make tag libraries more widely
available, stay tuned.

Taglibs also really work well with authoring tools.  There are a few
tools that are moving in that direction, and some of the 1.0 tools can
be extended that way quite easily (we have a demo using Dreamweaver).

On "taglibs being hard", there is no real reason why a simple custom
action with no body should be any harder to write than a JavaBean.
About the only real difference is that a custom action requires a taglib
directive.  Writing something that processes its input is harder,
though, I'll admit that.  I wish it was easier, but we made certain
design choices (most critically to allow for alternative scripting
languages if the need ever arose) and this is the best we came up with.

===

On the role argument, Dan described the argument put forward by some
speakers at J1.  I was one of the speakers, so perhaps Dan's summary
tries to descibe my argument.  Dan's summary goes as this:

> - Java developers don't know Web design and Web designers can't handle
Java
> coding, so Scriptlets don't achieve the perfect world separation of Java
> from HTML.
> - So replace all use of Scriptlets with JSP 1.1 taglibs.  These will make
> the Web designer's task easy.

That is somewhat close to my argument, but not really.  The argument I
made was that there are different roles and that they require different
skill sets, and that a good way to encapsulate information from one to
the other was tag libraries.  I also mentioned (in one of our talks,
forgot which one) that many people using scriptlets do not move
functionality to JavaBeans - or Taglibs - I used the example of the
javaone site @ java.sun.com, until when they understand what the
abstraction should be and that abstraction is stable.  Once the
abstraction is stable, though, it works really well; thus my point about
all the redesigns of the j.s.c/javaone site in the last few weeks before
J1.

BTW, I don't think that IF-THEN or FOR-loops are really the best
arguments for or against custom actions, those are relatively well
structured, and, actually should be quite easy to do either as a
scriptlet or as a custom action.  The value of taglibs comes from more
powerful abstractions.

====

Anyhow, what I tried to emphasize in our presentation was:

 - There are different roles that come into play, and how you structure
your project will depend on who you have to play these roles, and how
much work is needed for earch role, etc.

 - It is useful to classify the activities into
validation/actions/control/presentation.  How to achieve this separation
is still being debated by the industry as a whole (and JSP-interest in
special).  For example, we are trying a few things in STRUTS, and tools
like UltraDev have their own model, as do vendors like Allaire.  The
nice thing is they all these approaches are portable.


Hope this helps,

        - eduard/o

PS. If you want to know, the main thing I dislike about scriptlets is
that they are just program fragments, this makes it quite hard to define
semantics in any but a transformational manner, which makes life harder
for error reporting, implementation and specification.

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.html
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets

Reply via email to