Discussions

News: Stripes 1.3 Web Application Framework Released

  1. Stripes 1.3 Web Application Framework Released (22 messages)

    Stripes 1.3 has been released, including several major improvements. It is also the first release of Stripes to be distributed under the Apache License (previous versions were distributed under the LGPL).

    Major improvements include:
    • Expression Based Validation: Validations can now be written in the JSP Expression Language (EL). The expression is specified in an annotation along with other validations.
    • Flexible Validation Methods: ActionBeans can now have more than one custom validation method, and additional control can be asserted over when the validation is run (by event, by error state etc.)
    • Validation Filtering By Event: It is now possible to fine tune validations by specifying that a field is required only for a particular event or events, or is required for all events except specified events.
    • Interceptor System: Stripes now includes a generic Interceptor system. The request processing lifecycle is defined by an enumeration, and it is possible to interceptor around any/all lifecycle stages easily. An example interceptor ships with Stripes that enables before/after methods within ActionBeans.
    • Exception Handling System: A new ExceptionHandler interface is used to handle any unhandled exceptions raised anywhere in the application. The primary benefit of this system is to be able to execute arbitrary java code on exceptions instead of simply rendering a view.
    • URL Alternatives: It is now possible to specify fully qualified class names or provide Class objects almost anywhere the system expects a URL. While not everyone will like this it provides significant flexibility to change URL strategies without impacting other classes and views.
    The full list of changes is available in the JIRA Changelog. The release can be downloaded from the Stripes website.

    Threaded Messages (22)

  2. it is likely that stripes will ever used spring managed actions rather than just using annotations to resolve dependencies? I think theres a lot to like in Stripes, but allowing spring to manage everything makes it very easy to build up tests during development.

    i had a quick look at using a custom configuration, would it take much effort to create a SpringConfiguration perhaps?
  3. http://stripes.mc4j.org/confluence/display/stripes/Spring+with+Stripes
  4. emmm...that doesn't describe spring managed beans...hence my question...
  5. it is likely that stripes will ever used spring managed actions rather than just using annotations to resolve dependencies? I think theres a lot to like in Stripes, but allowing spring to manage everything makes it very easy to build up tests during development.i had a quick look at using a custom configuration, would it take much effort to create a SpringConfiguration perhaps?

    Stripes integates pretty tightly with Spring in terms of looking up spring managed objects and injecting them into ActionBeans for you. What it doesn't do out of the box is require you to use Spring, or use Spring management for its own classes (ActionBeans, internal components etc.).

    Both of these would be relatively easy to accomplish if you so desired, by providing alternative implementations of a couple of core classes (which are pluggable), probably by just overriding the methods that do instantitation. The downside to doing this is that the lifecycle of said objects is then removed from Stripes' control, and you'd have to define them all in a spring context, presumably XML.

    -t
  6. Great! It's funny because I looked at it yesterday and had decided to use it in a small personal project just to test it. I'm definitely going to give it a try.

     - Yagiz Erkan -
     http://blog.decaresystems.ie
  7. Hi,

    Does Stripes provides automatic GUI generation?
    Does Stripes generates model classes?
    Has it some support for automatic CRUD?
    Can the user generate PDF reports automatically?
    Does Stripes provides aumatic list behaviour (grid)?
    Is the code written with Stripes reusable in a non-web context?
    Provides Stripes some features away the controller layer for business application?


    Thanks
    Javier Paniza
    OpenXava: Business Application Framework
  8. Hi,Does Stripes provides automatic GUI generation?Does Stripes generates model classes?Has it some support for automatic CRUD?Can the user generate PDF reports automatically?Does Stripes provides aumatic list behaviour (grid)?Is the code written with Stripes reusable in a non-web context?Provides Stripes some features away the controller layer for business application?ThanksJavier PanizaOpenXava: Business Application Framework
    AFAIK, Stripes is just a powerful Web Framework, not a one-stop solution for business application development. Listing the features your own project has as deficiencies in Stripes is not - I think - a very smart approach to advertise your own project, as OpenXava and Stripes are not the same kind of software. Please, Compare apples to apples.

    PD: Congrats for your project, it's a great tool ;)
  9. Another question: Licence[ Go to top ]

    Hi,

    why the change to Apache Licence?

    Thanks
  10. Another question: Licence[ Go to top ]

    A couple of reasons. I originally picked LGPL because it seemed like it offered a good combination of openness and developer protection (for me). In retrospect it is my opinion that the LGPL is a barrier to adoption for a lot of people, and the protection is overrated. The change to Apache license should allow for adoption in environments where the letters GPL (even preceeded by an 'L') are verboten.

    -t
  11. Another question: Licence[ Go to top ]

    LGPL is a barrier to adoption

    What about the case of Hibernate or JBoss?

    or Linux GPL?

    The advantage of apache (not for developer) is creating a comercial version of Stripes. Nowadays, who want a comercial web framework?
  12. Another question: Licence[ Go to top ]

    LGPL is a barrier to adoption
    What about the case of Hibernate or JBoss?or Linux GPL?The advantage of apache (not for developer) is creating a comercial version of Stripes. Nowadays, who want a comercial web framework?

    I'm not saying that LGPL is a bad license or is a legal barrier to adoption, but simply that some chose not to adopt software licensed under the GPL or LGPL. JBoss and Hibernate are both extremely successulf, but guaranteed there are people using other things (even paying for them) because of the license.

    In reality there is little downside to switching to an apache license, so I guess the question becomes more why not?

    -t
  13. Stripes + Velocity?[ Go to top ]

    Is it possible to use Velocity as the view technology? Is it painful or does it diminish Stripes' capabilities to use Velocity?
  14. Stripes + Velocity?[ Go to top ]

    Is it possible to use Velocity as the view technology? Is it painful or does it diminish Stripes' capabilities to use Velocity?

    I haven't tried velocity (or know of anyone that has). Stripes is [pretty] view agnostic though. It ships with a JSP tag library but that's the only thing that is JSP dependent.

    I know of folks using Freemarker as the view tech and this works really nicely because they provide an 'emulated' JSP container that lets you import and use JSP taglibs in Freemarker templates. So that way you get all the benefits of an alternate templating language and still get all the benefits of using the Stripes tag library.

    -t
  15. Stripes + Velocity?[ Go to top ]

    Thanks, Tim. You know how it is -- you hesitate to go down the path, using a new technology. You're not sure if it's a good fit for you.

    As objectively as possible, is there still a big payoff to be gained from using Stripes if I can't use any of the tag libraries?
  16. Stripes and taglibs[ Go to top ]

    Most of the value I get from using Stripes comes from the easy configuration, easy and extensible programming model and the good documentation. For me the taglibs are a just plus, but not what let me to use Stripes in the first place or what keeps me using Stripes.

    /Jeppe
  17. Stripes + Velocity?[ Go to top ]

    Thanks, Tim. You know how it is -- you hesitate to go down the path, using a new technology. You're not sure if it's a good fit for you.As objectively as possible, is there still a big payoff to be gained from using Stripes if I can't use any of the tag libraries?

    That's a good question. Unfortunately my knowledge of velocity is pretty tiny. What it'd boil down to is how would you do this in velocity if the framework didn't provide velocity macros (is that the right term?). The best I can do is probably describe what the tag lib does and doesn't do, and let you make up your own mind.

    There are two main parts to the taglib. One is a set of tags that very closely mirrors the different HTML input tag variants. The value add is that the tags manage repopulation intelligently, have the ability to automatically modify their display when the field is in error, escape user input properly and so on. There's also a set of tags to display error messages to the user.

    The second part is a "layout" system that is (what I consider) to be the most useful 80% of tiles in 20% of the code/complexity ;) I wouldn't be at all suprised to find that velocity has something like this already, and even if it doesn't, Sitemesh is a great alternative that's only slightly more effort.

    So it's hard to say, but probably not. You'd be getting a lot of additional features on the non-view tier, but would probably end up having to roll your own tag-equivelents for Velocity unless there's something else that would work.

    -t
  18. Stripes + Velocity?[ Go to top ]

    For what it's worth, I've tried using both Velocity and
    FreeMarker with Stripes.

    Tim pretty much summarized what I experienced: Stripes doesn't "know" or "care" what view tech. you use, so Velocity and FreeMarker integrate flawlessly. With Velocity you don't (out of the box) get to use Stripes taglibs, whereas with FreeMarker you do by setting it up like any other taglib you want to access from FreeMarker.

    Finally, I had no problems using SiteMesh with Stripes, which is worth mentioning because this is not true of all web frameworks out there.

    By the way, it's "Stripes", not "Strips", let's not confuse people out there, if you keep using the "Strips" framework do you end up with the "Naked Objects" framework?

    Bravo Tim for Stripes IMHO it has its place of value among the web frameworks out there.

    Frederic
  19. Compared to Spring MVC[ Go to top ]

    Is Stripes comparable to Spring MVC? If so how do they compare with each other?
  20. Compared to Spring MVC[ Go to top ]

    Is Stripes comparable to Spring MVC? If so how do they compare with each other?

    Yes, Stripes and Spring-MVC are pretty directly comparable. They are both action-oriented web frameworks that try to make web development easier. As for comparing the two, I could give that a shot but I'd be extremely biased ;) After all, I looked at Spring-MVC before I started building Stripes 1.0 ... and I still built Stripes!

    If noone else can chime in, and you'd still like, I'd be happy to give my opinion later.

    -Tim Fennell
    Stripes: Because web development should just be easier.
  21. http://www.learntechnology.net/[ Go to top ]

    This site:

    http://www.learntechnology.net/

    Has basic web application that are build using different web frameworks.

    If some of the Strips coders have the time they could contribute such a demo application.

    I know Philip Luppens recently created the WebWork demo in short time.

    I think Rick Reumann can be contact from the site.
  22. Tim, Strips looks impressive.

    Great that it's build on top of JDK1.5 and thus leverages all these nice new features.

    I'll check it out when I'm on JDK1.5 shop next year ;)
  23. The Great Thing About Stripes[ Go to top ]

    I am in a Struts shop and the appealing thing to me about Stripes is not just the simplicity, but the fact that the Stripes Action layer is close enough to Struts to be recognizable to a developer in its general functionality, but without all the evil stuff. Porting an application from Struts to Stripes also appears very easy. The Stripes tags are similar to the Struts tags. A universal replace in your jsps would probably do about 90% of the job. For i18n, you just have to change the name of your MessageResources.properties files and replace your bean:message tags with JSTL fmt tags. I am also impressed with the consolidation of ActionForms and Validation within the ActionBean. Problems in these areas in Struts are hard to debug because they occur before you even get to the action.