Stripes (framework)

Stripes is an open source web application framework based on the model–view–controller (MVC) pattern. It aims to be a lighter weight framework than Struts by using Java technologies such as annotations and generics that were introduced in Java 1.5, to achieve "convention over configuration". This emphasizes the idea that a set of simple conventions used throughout the framework reduce configuration overhead. In practice, this means that Stripe applications barely need any configuration files, thus reducing development and maintenance work. It has been dormant since 2016.

Stripes
Original author(s)Tim Fennell
Initial release2005 (2005)
Stable release
1.6.0 / July 23, 2015 (2015-07-23)
Repository
Written inJava
Operating systemCross-platform
PlatformJava Virtual Machine
TypeWeb application framework
LicenseApache License 2.0
Websitestripesframework.atlassian.net/wiki/spaces/STRIPES/overview

Features

  • Action based MVC framework
  • No configuration files
  • POJOs
  • Annotations replace XML configuration files
  • Flexible and simple parameter binding
  • Search engine friendly URLs
  • Runs in J2EE web container
  • JUnit integration
  • Easy internationalization
  • Wizard support
  • JSP layouts
  • JSP or freemarker templates as View
  • Spring integration
  • JPA support
  • AJAX support
  • Fileupload support
  • Compatible with Google App Engine
  • Open-source
  • Lightweight

Example

A Hello World Stripes application, with just two files:

HelloAction.java
import net.sourceforge.stripes.action.ActionBean;
import net.sourceforge.stripes.action.ActionBeanContext;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.ForwardResolution;
import net.sourceforge.stripes.action.Resolution;
import net.sourceforge.stripes.action.UrlBinding;

@UrlBinding("/hello-{name=}.html")
public class HelloAction implements ActionBean {
    private ActionBeanContext context;
    private String name;

    public ActionBeanContext getContext() {
        return context;
    }

    public void setContext(ActionBeanContext context) {
        this.context = context;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    @DefaultHandler
    public Resolution view() {
        return new ForwardResolution(/WEB-INF/HelloWorld.jsp);
    }
}
HelloWorld.jsp
<html><body>
    Hello ${actionBean.name}<br/>
    <br/>
    <s:link beanclass="HelloAction"><s:param name="name" value="John"/>Try again</s:link><br />
</body></html>

No additional configuration files needed.

Bibliography

  • Daoud, Frederic (October 27, 2008). Stripes: ...and Java Web Development Is Fun Again. Pragmatic Programmers (1st ed.). Pragmatic Bookshelf. p. 396. ISBN 1-934356-21-2. LCCN 2010537102. Archived from the original on 2016-06-29.
  • Glover, Andrew (January 20, 2009). "Shed the weight with Groovlets". The Disco Blog. JavaWorld. Retrieved 2020-08-06.
  • Hoang Le, Kevin (October 6, 2006). "Revisiting the logout problem". JavaWorld. Retrieved 2020-08-06.
  • Jose, Benoy (September 29, 2006). "Stripes Takes Struts to the Next Level". Java Boutique. DevX. Archived from the original on 2012-05-05.
  • Allmon, B.J. (August 22, 2006). "Configureless J2EE development with Stripes, Apache Derby, and Eclipse". developerWorks. IBM. Archived from the original on 2010-02-04.
  • Smith, Rick (July 17, 2006). "Struts to Stripes—A Road Worth Traveling". DevX. Archived from the original on 2017-09-23.
  • Eagle, Mark (January 24, 2007). "Java Web Development with Stripes". ONJava. O'Reilly & Associates. Archived from the original on 2018-05-06.
  • Santos, Samuel (September 17, 2009). Java Web Development with Stripes. JavaPT09. Portugal Java User Group. Retrieved 2020-08-06.
  • Shan, Tony; Hua, Winnie (2006). Taxonomy of Java Web Application Frameworks. ICEBE'06. 2006 IEEE International Conference on e-Business Engineering. pp. 378–385. doi:10.1109/ICEBE.2006.98. ISBN 0-7695-2645-4.
  • Watson, Brent (2015). Stripes by Example. Apress. doi:10.1007/978-1-4842-0980-6. ISBN 978-1-4842-0981-3.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.