You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by "Moore, Gavin" <gm...@daybreakgames.com> on 2016/03/22 22:15:29 UTC

parameter set failing with struts 2.3.28

Not sure if this is the right group for this...
I recently updated to Struts2.3.28 and started getting random parameters not being set on the actions. 
After some digging I found that a parameter name vCurrency=USD and a setter method setVCurrency(String vCurrency) works in 2.3.24.1 but does not work in 2.3.28. Changing the setter name to setvCurrency(String vCurrency) works in 2.3.28
This seems to be happening in the OgnlUtil around line 346. The RuntimeException is:
No object in the CompoundRoot has a publicly accessible property named 'vCurrency' (no setter could be found). - [unknown location]

so for a url:
https://mycompany.com/path/myaction.action? vCurrency=USD

this setter works in 2.3.24.1 but can't be found in 2.3.28:
public void setVCurrency(String vCurrency) {
	this.vCurrency = vCurrency;
}

this setter works in both versions:
public void setvCurrency(String vCurrency) {
	this.vCurrency = vCurrency;
}

There are several other parameter names that are not being set, but I don't yet see a pattern.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: parameter set failing with struts 2.3.28

Posted by Lukasz Lenart <lu...@apache.org>.
It's because of fixed OGNL version, right now it supports Java Bean
Specification. If you want to switch to old behaviour revert to prior
version of OGNL than 3.0.8 version.

https://github.com/jkuhnert/ognl/#release-notes---version-308
https://issues.apache.org/jira/browse/WW-3909


Regards
-- 
Ɓukasz
+ 48 606 323 122 http://www.lenart.org.pl/

2016-03-22 22:15 GMT+01:00 Moore, Gavin <gm...@daybreakgames.com>:
> Not sure if this is the right group for this...
> I recently updated to Struts2.3.28 and started getting random parameters not being set on the actions.
> After some digging I found that a parameter name vCurrency=USD and a setter method setVCurrency(String vCurrency) works in 2.3.24.1 but does not work in 2.3.28. Changing the setter name to setvCurrency(String vCurrency) works in 2.3.28
> This seems to be happening in the OgnlUtil around line 346. The RuntimeException is:
> No object in the CompoundRoot has a publicly accessible property named 'vCurrency' (no setter could be found). - [unknown location]
>
> so for a url:
> https://mycompany.com/path/myaction.action? vCurrency=USD
>
> this setter works in 2.3.24.1 but can't be found in 2.3.28:
> public void setVCurrency(String vCurrency) {
>         this.vCurrency = vCurrency;
> }
>
> this setter works in both versions:
> public void setvCurrency(String vCurrency) {
>         this.vCurrency = vCurrency;
> }
>
> There are several other parameter names that are not being set, but I don't yet see a pattern.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org