Tuesday, 12 April 2016

What are the key features of Struts 2x ?


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.