Simplified Design
- Programming the abstract classes instead of interfaces is one of design problem of struts1x framework that has been resolved in the struts 2 framework.
- Most of the Struts 2 classes are based on interfaces
- Most of its core interfaces are HTTP independent
- Struts 2 Action classes are framework independent and are simplified to look as simple POJOs.
- Framework components are tried to keep loosely coupled.
Simplified Actions
- Actions are simple POJOs.
- Any java class with execute() method can be used as an Action class.
- Even we don't need to implement interfaces always.
- Inversion of Control is introduced while developing the action classes.
- makes the actions to be neutral to the underlying framework
No more ActionForms
- ActionForm feature is no more known to the struts2 framework.
- Simple JavaBean flavored actions are used to put properties directly.
- No need to use all String properties.
Simplified testability
- Struts 2 Actions are HTTP independent and framework neutral.
- This enables to test struts applications very easily without resorting to mock objects.
Intelligent Defaults
- Most configuration elements have a default value which can be set according to the need.
- Even there are XML-based default configuration files that can be overridden according to the need.
Improved results
- Unlike ActionForwards, Struts 2 Results provide flexibility to create multiple type of outputs and in actual it helps to prepare the response.
Better Tag features
- Struts 2 tags enables to add style sheet-driven markup capabilities, so that we can create consistent pages with less code.
- Struts 2 tag markup can be altered by changing an underlying stylesheet.
- Individual tag markup can be changed by editing a FreeMarker template.
- Struts 2 tags are more capable and result oriented.
- Both JSP and FreeMarker tags are fully supported.
Annotations introduced
- Applications in struts 2 can use Java 5 annotations as an alternative to XML and Java properties configuration.
- Annotations minimize the use of XML.
Stateful Checkboxes
- Struts 2 checkboxes do not require special handling for false values.
QuickStart
- Many changes can be made on the fly without restarting a web container.
Customizing controller
- Struts 1 lets to customize the request processor per module, Struts 2 lets to customize the request handling per action, if desired.
Easy Spring integration
- Struts 2 Actions are Spring-aware. Just need to add Spring beans.
Easy plugins
- Struts 2 extensions can be added by dropping-in a JAR.
- No manual configuration is required.
AJAX support
- The AJAX theme gives interactive applications a significant boost.
- The framework provides a set of tags to help you ajaxify your applications, even on Dojo.
- The AJAX features include :
- AJAX Client Side Validation
- Remote form submission support (works with the submit tag as well)
- An advanced div template that provides dynamic reloading of partial HTML
- An advanced template that provides the ability to load and evaluate JavaScript remotely.
- An AJAX-only tabbed Panel implementation
- A rich pub-sub event model Interactive auto complete tag
No comments:
Post a Comment
Note: only a member of this blog may post a comment.