struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Don Brown (JIRA)" <j...@apache.org>
Subject [jira] Updated: (WW-2297) Using ServletActionRedirectResult (within @Result) and extra parameters.
Date Fri, 13 Jun 2008 00:12:05 GMT

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

Don Brown updated WW-2297:
--------------------------

    Fix Version/s:     (was: 2.1.4)
                   2.1.3

> Using ServletActionRedirectResult (within @Result) and extra parameters.
> ------------------------------------------------------------------------
>
>                 Key: WW-2297
>                 URL: https://issues.apache.org/struts/browse/WW-2297
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>            Reporter: David Artiga
>             Fix For: 2.1.3
>
>
> Given the following class and annotations:
> @Results(
>    @Result(name = Action.SUCCESS, value = "myAction", type=ServletActionRedirectResult.class,
params = { "param1", "value1" })
> )
> public class MyAction implements Action {
>    ...
> }
> In method 'buildResult' from 'com.opensymphony.xwork2ObjectFactory' class:
>  if (resultClassName != null) {
>             result = (Result) buildBean(resultClassName, extraContext);
>             try {
>             	OgnlUtil.setProperties(resultConfig.getParams(), result, extraContext, true);
>             } catch (XWorkException ex) {
>                 ...
>             }
> ...
> }
> When dealing with the readult an ognl.NoSuchPropertyException is thrown for property
'param1'. 
> This is not a problem if the action is mapped using a XML file, because "actionName"
property has been set earlier (resultConfig.requestParameters = { "actionName=myAction","param1=value1"}).
> But when using annotations, the requestParameters order changes( {"param1=value1", "actionName=myAction"}),
so when throwing the exception "actioName" has not been set yet, and then the Result created
has no actionName (=null).
> That causes a NullPointerException when trying to process the result.
> Possible patch (inform Ognl to not throw exceptions when setting properties):
> OgnlUtil.setProperties(resultConfig.getParams(), result, extraContext, /* --> */ false
/* <-- */ );

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


Mime
View raw message