Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.1.0, 2.1.1, 2.1.2
-
None
-
Patch, Important
Description
<s:form action="action!method" ...> renders as: <form action="action!method!method" ...>
The bug was introduced in ServletUrlRenderer in 590812 revision.
action variable used to be equivalent to actionName:
- // handle "name!method" convention.
- if (formComponent.enableDynamicMethodInvocation) {
- if (action.indexOf("!") != -1) { - int endIdx = action.lastIndexOf("!"); - actionMethod = action.substring(endIdx + 1, action.length()); //this removes !method from action's value: - action = action.substring(0, endIdx); - }
- }
... - String actionName = action;
Since this revision action variable may contain DMI mark (i.e. SomeAction!edit). This value is passed down the road to ActionMapping constructor (and other methods that expect pure action name):
ActionMapping mapping = new ActionMapping(action, namespace, actionMethod, formComponent.parameters);
With DMI call looks like:
new ActionMapping('SomeAction!edit!edit', '/', 'edit', ...)
This results in an s:form tag's action attribute equal to 'SomeAction!edit!edit'.
Attachments
Attachments
Issue Links
- duplicates
-
WW-2727 Using action and method in form action duplicates method part
- Closed