> One of the prime things to consider while deciding to choose JSF is that, it
> is more of a component framework than just an MVC web framework.
I am not convinced that a component based approach can work well with
a round trip to the server required for each action. Take a look at
how icefaces / richfaces deal with this - I tried to port the filter
implementation to a PortletFilter as I wanted to use these components
in a portlet environment - it is very complex.
I have come across a few comments saying that "GWT is JSF done right"
- the ideas (or at least the intentions) behind JSF might be sound
but the current implementation is probably not.
> On Fri, Jan 23, 2009 at 11:32 PM, Kamal <
kamal...@gmail.com> wrote:
>
> > - too much of XML configuration
>
> Agreed. Hope annotations come to the rescue as in the case of EJBs. But
> surprisingly most of the other frameworks you had suggested (except GWT but
> GWT is just a client side presentation tool like Flex) need lot of XML.
The other frameworks (struts2 and spring mvc) started with XML, but
now they have a simpler annotation based approach. In case of struts2
with a little effort during initial project setup it is easy to make
it use a convention over configuration approach. This support has
been there for quite a while now in both the frameworks and it is the
recommend approach today.
As I commented in the other thread on EJBs - this is a big
disadvantage with frameworks driven by standards. They are always
behind the curve.
> - very steep learning curve (if you really want to understand how
>
> > things work - rather than just putting together an application using
> > wizards and once you start with JSF you will sooner or later be
> > required to understand to debug issues :-))
>
> As I said the way a web developer looks at it needs a complete change. Look
> at it as components (like in a desktop GUI application) and it becomes easy.
If the application really needs that kind of a model it is probably
better to go with something like GWT/Flex which is a lot closer to the
model of developing a desktop application.
> - I had a hard time trying to make a simple thing like a data table
>
> > work without having to resort to defining a bean as session scope -
> > debugging it was more painful. Going with session scope resulted in
> > so many other issues.
>
> When using input or action components in datatable (combo boxes and list
> boxes outside tables too), JSF validates the input to ensure that it forms
> part of the actual list of values provided to user. This is a validation,
> which apps have to do anyway as a safe programming practice. Choosing
> between session scoped values vs DB access on submit is a decision to be
> taken based on the application. But datatable offers few nice stuff like,
> providing a request scoped parameter giving the actual object for the row
> where action was performed (where applicable).
I had a very simple requirement a view only table with pagination /
sorting support (since the data set can be huge the pagination /
sorting had to be delegated to the database) - I think this is
probably what 80% usage of the data table would be for. And I am wary
of putting anything into the session (except for some minimal
information).