[
https://issues.apache.org/struts/browse/WW-2987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46221#action_46221
]
Dean Pullen commented on WW-2987:
---------------------------------
This is still an open issue. Though you can retrieve the action messages using
the message store interceptor, it will merely forward the input phase straight
to the input redirectAction's JSP, not through it's assigned method.
This means you can not repopulate a form that has had properties lost due to
the redirect.
E.g.
Within the example XML file we have this redirectAction input:
<result type="redirectAction" name="input">
<param name="actionName">ItemViewForStore</param>
</result>
This means the input should go to the 'ItemViewForStore' action. It does. But
it uses ItemViewForStore's mapping of 'input' which is a JSP, and although it
will execute the prepare method of the ItemViewForStore action it will not
execute the execute method.
> Validation messages do not get displayed using a redirectAction as the input
> ----------------------------------------------------------------------------
>
> Key: WW-2987
> URL: https://issues.apache.org/struts/browse/WW-2987
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Portlet
> Affects Versions: 2.1.6
> Environment: JBoss Portal 2.7.1
> Reporter: Dean Pullen
> Attachments: item.jsp, ItemAction.java, struts-test.xml
>
>
> This was originally posted to the mailing list without being solved.
> It seems we're correctly directed back to the input when Validation isn't
> passed, but we cannot pick up the error messages using the usual tags:
> <s:actionerror />
> <s:fielderror />
> We're utilising the portletDefaultStack and our Portlet package is extending
> struts-portlet-default. Our package has no name-space set.
> For example this is the view, which is the input of the edit action:
> <action name="ItemView"
> class="com.msp.portlets.ItemAction">
> <interceptor-ref
> name="portletDefaultStack"/>
>
>
> <result>/WEB-INF/jsp/welcome/admin/item.jsp</result>
> </action>
> This is the edit action:
> <action name="ItemEdit"
> class="com.msp.portlets. ItemAction" method="itemEdit">
> <interceptor-ref
> name="portletDefaultStack"/>
>
> <result type="redirectAction"
> name="success">
> <param
> name="actionName">ItemView</param>
>
> </result>
> <result type="redirectAction"
> name="input">
> <param
> name="actionName"> ItemView </param>
> </result>
> </action>
> This works perfectly if the redirectAction input is replaced with a standard
> JSP forward, and the validation errors are shown to the user.
> Utilising validation XML instead of annotations produces the same problem -
> redirectAction does not work, JSP does.
> Utilising the messageStoreInterceptor does not help.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.