Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
2.1.6
-
None
-
None
-
JBoss Portal 2.7.1
-
Important
Description
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.