You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Guillaume Bilodeau <gb...@yahoo.com> on 2008/04/05 20:37:53 UTC
Re: Problem in ObjectFactory.buildResult? OGNLExceptions can halt
setting of valid properties
Hi Aaron,
I'm running into a similar problem - I'm using a ServletActionRedirectResult
instead of the JSONResult. Were you able to work around this? It seems
that it's been fixed in 2.1 (cf issue WW-2170) but it doesn't look like it
will reach GA anytime soon.
Cheers,
GB
Aaron Brown-4 wrote:
>
>
> Hi,
>
> I am attempting to configure a Result implementation using the @Result
> class annotation. As part of this configuration I am sending in a
> parameters list which contains a single property. Here is my annotation
> and simple class file:
>
> @Result(name = "success", value = "", type = JSONResult.class, params =
> {"enableSMD", "true"})
> public class DealJsonAction extends ActionSupport {
>
> @SMDMethod
> public String getName(String client) {
> return "testName";
> }
> }
>
> My problem is that the'enableSMD' property is not being set to true on
> the JSONResult.
>
> I have discovered this is happening because the ResultConfig object that
> is passed to ObjectFactory.buildResult() has a 'location' parameter in
> it. I am not sure where/why this location parameter is being stuck into
> the ResultConfig. Further, the buildResult() method calls
> OgnlUtil.setProperties and sets the 'throwPropertyExceptions' parameter
> to true. This is problematic.
>
> The JSONResult does not posses a field named 'location'. Therefore, the
> call to OgnlUtil.setProperties is throwing an exception when it attempts
> to set the location property. This exception causes the iteration over
> properties to stop (lines 71-77), and as a result the 'enableSMD'
> property is never set on the JSONResult.
>
> There is a large comment in ObjectFactory, lines 227 - 232, that
> comments on catching OGNL exceptions and logging them. The comment
> implies there is no issue catching these thrown exceptions and the code
> should be rethought in the future.
>
> In my case, however, the throwing of exceptions is subverting setting
> valid properties on the target object.
>
> I am relatively new to Struts 2, so perhaps I am simply overlooking a
> simple configuration step that might remove the 'location' parameter
> from the ResultConfig parameters map. Otherwise, it seems the handling
> of OGNL property setting needs some attention?
>
> Any help would be greatly appreciated.
>
> Thanks,
> Aaron Brown
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
>
--
View this message in context: http://www.nabble.com/Problem-in-ObjectFactory.buildResult--OGNLExceptions-can-halt-setting-of-valid-properties-tp12564694p16516520.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org