I think the Zero Configuration idea is a nice idea but the
implementation is far from sufficient and will probably get better
over time (hopefully).  The problem mainly is with the limit of
annotations.  There are things that can be  represented in struts.xml
that have no chance of being represented via action annotations.  For
example, package interceptors, global results, multiple execute
methods in the same action etc. etc.

Even if you do manage to represent what you want in annotations as you
have, it quickly turns ugly and you end up wondering why you're even
bothering mucking up your nice and clean action bean with stuff like
contentType, text/xml and paths to FTLs.  struts.xml is a very
powerful little method of making your actions behave any which way you
want and I'd even prefer it over annotations unless you're doing
something very, very basic.

The other issue I think is the lack of the "convention over
configuration" philosophy being used.  For example, if you have have
an action called myAction, there's no reason why by default it
shouldn't look like for something like myAction_success.jsp and
myAction_input.jsp instead of having this specified by the user.  This
idea can be extended to interceptors, global results etc.  I'm just
blurting out what's on the top of my head but there are many more ways
to make Zero Config better.

Thanks,
Zarar


On 10/2/07, Sami Dalouche <[EMAIL PROTECTED]> wrote:
> Hi,
>
> On http://struts.apache.org/2.x/docs/release-notes-209.html, I can
> read : "Please help us test these brave new features. Feedback
> appreciated".
>
> So, here is some feedback about Zero configuration :
>
> - the feature is pretty cool, though not much documented. For instance,
> it was not obvious to me what the "params" parameter meant in the
> @Result annotation, and I had to dig into the source code to understand
> that odd indexes where the keys and even ones where the values...
>
> So, a freemarker view that would return XML would be described as
> @Results( { @Result(name = "success", value =
> "/WEB-INF/views/blabla.ftl", type = FreemarkerResult.class, params = {
>                 "contentType", "text/xml" }) })
>
> - I have been looking for a way to specify the default package, but it
> looks like I have to manually copy / paste the following line for my
> actions to use the "default" package settings :
> @ParentPackage("default")
>
> - And last, I am experiencing some weird problems... Basically, 9 times
> out of 10, everything is fine, but sometimes, for no particular reason,
> the @ParentPackage("default") line in my actions seem to have no effect
> and the zero-conf Actions use the struts provided default stack, not the
> one that I defined in my default package.. (either the web application
> boots correctly and works for its whole uptime, or it doesn't work at
> all. When it doesn't work, the only way to get it working it by
> rebooting the web application).
>
> I have absolutely no idea about the reasons that could cause that...
> Have you heard of anything similar before ?
>
> Regards,
> Sami Dalouche
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to