Absolutely! The JSF API itself isn't enough to write components without
duplicating tons of code. You either do duplication, or depend on a
particular implementation of the API.

And this isn't just a problem with JSF alone. I wanted to replace the
default month renderer on tomahawks schedule component. I've now ended by
extending Renderer directly, I can't even reuse a single line of the
AbstractWhateverScheduleRenderers. Instead I have to duplicate parts of them
in my own renderer.

About the three classes: When I want to quickly create my own component for
handle a particular problem, I need only the component class itself and my
facelets taglib. The component can do the rendering.

Once I'd have those components ready to publish to a greater audience I
wouldn't mind writing renderer and tag classes.

On 3/15/07, Werner Punz <[EMAIL PROTECTED]> wrote:

Jeff Bischoff schrieb:
> I agree, it would be great if that were part of the distro. Problem is,
> Facelets still isn't officially supported by Tomahawk, and thus
> developers don't have to ensure their components will work in Facelets,
> let alone provide the configuration and handler classes. Seems like a
> huge number of the userbase is already using or migrating to Facelets,
> though, so I would expect to see Facelet support improve over time. This
> is, of course, a community project!
>
Getting away from the discussion itself...

Actually having facelets in would be a great welcome for the component
devs too, I have been playing around with the thought of having parts
of the stuff I am doing being moved into the facelets domain, sort of
like a tomahawk facelets.
Problem is I cannot do it in the borders of the Tomahawk project
currently because those components would only work with facelets.
(There was a discussion in the myfaces list a while ago)

I will give a description of the core problem.

Simple JSF control == 3 classes (one tag class, one component class, one
renderer clasS)
two xml file entries

each class is 100 locs code min and the renderer uses
a crude servlet like outputwriter api to the worst.
90% of this code normally is just glue code.

90% of most of this code probably could be replaced by simply facelet
tags and only specialized stuff would have to be coded in the component
api itself.

The component api probably is the biggest problem JSF has in my opinion
and it prevents a lot of people jumping onto the ship.
Facelets would be an easy entry point to add new components.


Heck everything which makes things easier and helps people to ease
coding is welcome, it does not have to be facelets.


Reply via email to