Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Code Block
<dependency>
  <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
      <version>2.0.0-SNAPSHOT<0</version>
</dependency>

Struts Configuration XML

...

  • Can we use Acegi Security with the framework extension is available.
  • CheckBox Interceptor detects unchecked checkboxes and adds a parameter with a default value (usually 'false') .
  • JavaServer Faces extension is available.
  • A struts.xml file can be placed in a JAR and automatically plugged into an application, so that modules can be self-contained and automatically configured.
    • In the case of Freemarker and Velocity modules, the templates can also be loaded from the classpath, so the entire module can be plugged in as a single JAR.
  • (warning) Debug Interceptor DebuggingInterceptor displays the value stack at runtime.

...

  • Various changes to ConfigurationManager
    • ConfigurationManager is no longer a static factory. It is now an instance created through Dispatcher. Custom configuration could be done through DispatcherListener.
    • Custom configuration to ConfigurationManager and Configuration cannot be done statically anymore, instead use Dispatcher's DispatcherListener to achieve the same effect.
  • The prepare interceptor now uses reflection to call prepare_Method_ where method is the action method configured for the particular action in struts.xml.
    Code Block
       <action name="myAction" method="insert" ....>
         .....
       </action>
    
       // with the above configuration, and PrepareInterceptor in play, 
       // callsequence will be 
       1] prepareInsert() (If it exists)
       2] prepare() (Unless Interceptor's alwaysInvokePrepare parameter is set to false)
       3] insert()
    
  • DefaultWorkflowInterceptor (named workflow in struts-default.xml) now uses reflection to call validateMethod on the action class that implements Validateable interface where method is the action method configured for the particular action in struts.xml.
    Code Block
    <action name="myAction" method="insert" ...>
           ...
        </action>
    
        // with the above configuration, and DefaultWorkflowInterceptor in play, 
        // call sequence for action that implements Validateable interface will be 
        1] validateInsert()
        2] validate() (unless Interceptor's alwaysInvokeValidate parameter is set to false)
        3] insert()
    
  • Datepicker tag is now using dojo's (limited in terms functionality and internationalization)
  • Tiles integration extension is available.
  • Wildcards can be specified in action mappings.
  • MessageStoreInterceptor is introduced to allow field errors / action errors and messages to be store and retrieve through session, resulting them to be preservable across request.

...

Pending and open issues

Jira Issues
columnstype; key; summary; status; resolution
urlhttps://issues.apache.org/struts/secure/IssueNavigator.jspa?view=rss&&pid=10030&fixfor=21510&status=1&status=3&status=4&sorter/field=priority&sorter/order=DESC&tempMax=250&reset=true&decorator=nonecolumnstype; key; summary; status; resolution

Other resources