Hi Tony

We can all learn from criticism, so in my opinion it is great to get your
view on this :-)
I have not tried Spring MVC. I dropped it when I looked at the XML
configuration file(s)...
Perhaps this has gotten better lately, I don't know.

Let me explain the way I see it.

Stripes has from the beginning been built to honor Convention Over
Configuration. In my experience not many frameworks has had this idea built
in from the beginning, except Grails (which I like too).
Normally you had to create large XML files to tell the framework what to do.
Buggy and very time-consuming.
+1 to Stripes

As for the object oriented aspect, I do not agree with you.
If you think of a Car as a domain object, it will consist of several
properties and some actions that a car can do, i.e. drive, turn etc..
Not all properties is used on every action, but the actions are aimed at
servicing the Car object, doing what they have to do.
If you have an event that takes a rich VO as an argument, sets properties on
it and then populates it back to the view, it will (in my opinion) be the
same as putting the car on a truck and move it to the place you want,
instead of just drive where you wanna go.
You are right though, that it can be real messy it you do not show some
discipline and take care not to put your whole application into one action
bean :-)
This is where you should aim you fields and events at the task this action
bean is meant to handle.
In my opinion: +1 to Stripes

Then comes a general feeling about using Stripes.
I have many times, about a specific feature, thought: "Well, this is how it
is meant to work, now lets start fixing the bugs in my code...".
To my big surprise, in 90% (I guess, did not keep an accurate track on this
:-), there was no bug! It just worked as expected. Even stuff I tried out
like "Well, if works like that, it might also do this...". And again, I was
amazed that most of the time my expectations was fulfilled.
When something did not work, I was able to understand why and handle the
issue quickly.
+1 to Stripes

I work in a large organization where validators and formattors has been a
battle to find. Each time you needed a formattor for a specific VO, you had
to ask "some guy" to be able to find it and use it. Most of the time "some
guy" was not available, and then people started creating new formattors
doing the same thing. Leading to VOs being formatted differently in the
application.
Same thing goes for converters.
With Stripes, using the <s:format... tag you are can forget this worry,
since Stripes will look up the formattor and converter automatically -
without any configuration, except for telling Stripes where it should find
the extensions. This is done in the web.xml.
+1 to Stripes

I have created an integration into a CMS that renders portalpages. This
integration makes it possible to use Stripes applications as portlets - some
primitive portletbridge for Stripes. In my work I had to dig deep into how
Stripes works, and I have never been in a situation where I did not know
what to do. Thanks to Freddys book, actually - so "Thank you so much,
Freddy!!!" :-)))
I know that Spring MVC has a portlet bridge. I have not looked at it, but it
is probably fine. However, since I wanted to create portlets using
absolutely NO configuration, then Spring fails.
+1 to Stripes

Speaking of developers using Stripes and the size of the community, Spring
(MVC and others) are much larger.
This does not mean they are right, though (again, in my opinion).
Actually, this is probably the only place I would give point to Spring, for
being able to brand Spring the way they do.
+1 to Spring.

All the above is my humble opinion and experience, and I know that sometimes
I am wrong, so bare with me if I have said something about Spring that is
not true. Then correct me if I am wrong :-)

I hope this helps you a little in the motivation for using Stripes.

Cheers

Søren

2011/3/2 Tony Drago <do...@mailinator.com>

>
> Hi,
>
> First of all, I promise I'm not trolling. I'm going to say some critical
> things about Stripes here, but my intention is to understand whether I'm
> missing something, not to offend. If you don't like to read criticism of
> your favorite framework, you should probably not read any further. Now that
> we've got that out of the way......
>
> My web framework background is in SpringMVC (and Grails). In SpringMVC a
> request handler looks like this:
>
> // ANNOTATIONS OMITTED FOR BREVITY
> class MyController {
>    ModelAndView showUserProfile(Integer userId) {
>
>        UserProfile userProfile = userService.getProfile(userId);
>
>        // An object that encapsulates the logical view name and data to be
> displayed
>        return new ModelAndView("userProfile", userProfile);
>    }
> }
>
>
> In Stripes, the equivalent ActionBean would look something like
>
>
> // ANNOTATIONS, GETTERS AND SETTERS OMITTED FOR BREVITY
> class MyActionBean extends BaseActionBean {
>
>    private Integer userId;
>    private UserProfile;
>
>    Resolution showUserProfile() {
>
>        this.userProfile = userService.getProfile(userId);
>
>        // An object that encapsulates the logical view name and data to be
> displayed
>        return new ForwardResolution("/userProfile.jsp");
>    }
> }
>
> What bugs me about the Stripes approach is that the request parameters and
> the model (UserProfile) are not scoped to the relevant handler method. In
> most cases, a controller class has more than one handler, and I really
> dislike the fact that there's no way to tell just by looking at the code
> which request params and view model go with which handler method. I know
> you
> could put each handler in its own class, but that will create a whole other
> set of problems.
>
> Fundamentally, having variables which should be scoped to a single method
> scoped to a single class, feels like bad OO practice (poor encapsulation).
> Am I missing something, or is this just something that most Stripes users
> don't care about?
>
>
>
>
> --
> View this message in context:
> http://old.nabble.com/request-response-scoping-tp31050264p31050264.html
> Sent from the stripes-users mailing list archive at Nabble.com.
>
>
>
> ------------------------------------------------------------------------------
> Free Software Download: Index, Search & Analyze Logs and other IT data in
> Real-Time with Splunk. Collect, index and harness all the fast moving IT
> data
> generated by your applications, servers and devices whether physical,
> virtual
> or in the cloud. Deliver compliance at lower cost and gain new business
> insights. http://p.sf.net/sfu/splunk-dev2dev
> _______________________________________________
> Stripes-users mailing list
> Stripes-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/stripes-users
>
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Stripes-users mailing list
Stripes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to