Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications.
Apache Struts 2 is designed to streamline the full development cycle, from building, to deploying, to maintaining applications over time.
Apache Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts communities joined forces to create Struts2. Apache Struts 2 is simpler to use and closer to how Struts was always meant to be.
Here are some key features of "Apache Struts":
Build!:
· Easy startup - Jumpstart new projects with our bootstrap tutorial and template application or Maven archetype.
· Improved Design - Code clean against HTTP-independant framework interfaces.
· Enhanced Tags - Code less with stylesheet-driven form tags that provide their own markup.
· Stateful Checkboxes - Avoid special handling with smart checkboxes that know when they are toggled.
· Flexible Cancel Buttons - Go directly to a different action on cancel.
· First-class AJAX support - Add interactivity and flexibility with AJAX tags that look and feel just like standard Struts tags.
· Easy Spring integration - Inject dependencies into Actions using Spring without glue code or red tape. (Plexus support also available.)
· Enhanced Results - Do more with speciality results for JasperReports, JFreeChart, Action chaining, and file downloading.
· POJO forms - No more ActionForms! Use any JavaBean to capture form input or put properties directly on an Action class. Use both binary and String properties!
· POJO Actions - Use any class as an Action class -- even the interface is optional!
Deploy!:
· Easy plugins - Add framework extensions by dropping in a JAR. No manual configuration required! Bundled plugins add support for JavaServer Faces, JasperReports, JFreeChart, Tiles, and more ...
· Integrated profiling - Peek inside Struts2 to find where the cycles are going!
· Precise Error Reporting - Flip directly to the location and line of an error.
Maintain!:
· Easy-to-test Actions - Test Struts2 Actions directly, without resorting to mock HTTP objects.
· Intelligent Defaults - Skip obvious and redundant settings. Most framework configuration elements have a default value that we can set and forget. Say it once!
· Easy-to-customize controller - Customize the request handling per action, if desired. Struts2 only does what you want it to do!
· Integrating Debugging - Research problem reports with built-in debugging tools.
· Easy-to-tweak tags - Customize tag markup by editing a FreeMarker template. No need to grok the taglib API! JSP, FreeMarker, and Velocity tags are fully supported.
Requirements:
· Java 1.5 or later
· JSP API 2.0 or later
· Servlet API 2.4 or later
What`s New in This Release: [ read full changelog ]
· Dynamic Method Invocation flag was added to REST Plugin, so you can disable that functionality and prevent some security flaw - please be aware that the DMI will be removed in the next major release!