You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Paul Benedict (JIRA)" <ji...@apache.org> on 2007/11/07 07:23:34 UTC

[jira] Resolved: (STR-1116) ActionForm reset strategy

     [ https://issues.apache.org/struts/browse/STR-1116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Benedict resolved STR-1116.
--------------------------------

    Resolution: Fixed
      Assignee: Paul Benedict  (was: Michael Jouravlev)

Updated to distinguish between a forward, include, and chained request.

> ActionForm reset strategy
> -------------------------
>
>                 Key: STR-1116
>                 URL: https://issues.apache.org/struts/browse/STR-1116
>             Project: Struts 1
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: Nightly Build
>         Environment: Operating System: All
> Platform: All
>            Reporter: Jan Cumps
>            Assignee: Paul Benedict
>            Priority: Minor
>             Fix For: 1.4.0
>
>
> New attribute in <action> element where you can flag if you want the framework 
> to call the reset() function of the ActionForm .
> It's very much like the "validate" attribute already present.
> This attribute would default to "true" for backward compatibility.
> Rationale:
> If you use checkboxes, you need to set the corresponding ActionForm property 
> to "false" before the bean is populated from the request attributes (in the 
> reset() method).
> But when you chain actions , you don't want this to happen (you would loose 
> information).You want your bean to keep the info.
> Example:
> traceopen calls tracedetail on success -> show tracedetail.jsp
> tracesave calls tracedetail when validation fails (input attribute) -> show 
> tracedetail.jsp
> tracedetail does some common things always needed for tracedetail.jsp (eg.load 
> values for <select> tag from model). 
> It should receive the ActionForm in the state it was in the calling action.
>     <!-- Process a trace open for a new or existing trace -->
>     <action    path="/trace/traceopen"
>                type="org.blabla.TraceOpenAction"
>                name="traceForm"
>                scope="request"
>                reset="true">
>       <forward name="success"              path="/trace/tracedetail.do"/>
>       <forward name="failure"              path="/index.jsp"/>
>     </action>
>     
>     <!-- prepare tracedetail.jsp resources -->
>     <action    path="/trace/tracedetail"
>                type="org.blabla.TraceDetailAction"
>                name="traceForm"
>                scope="request"
>                reset="false">
>       <forward name="success"              path="/trace/tracedetail.jsp"/>
>       <forward name="failure"              path="/index.jsp"/>
>     </action>
>  
>     <!-- Process a trace save -->
>     <action    path="/trace/tracesave"
>                type="org.blabla.TraceSaveAction"
>                name="traceForm"
>                scope="request"
>                reset="true">
>                input="/trace/tracedetail.do">
>       <forward name="success"              path="/trace/tracelist.do"/>
>       <forward name="cancel"               path="/trace/tracelist.do"/>
>     </action>
> note:
> Can all be done by overriding ActionConfig.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.