Sorry I forgot to mention
I am using Struts 2.1.8 SNAP SHOT with XWork 2.1.6
samething happens with XWork 2.1.5

On Wed, Sep 9, 2009 at 2:03 PM, Steven Yang <kenshin...@gmail.com> wrote:

> Hi
> I have a bean like
> public class Account {
>
>     private String type;
>     private String name;
>     private BigDecimal value1;
>     private BigDecimal value2;
>     private BigDecimal value3;
> //getter, setters
> }
>
> in my action i have
>
> public class TestAction extends ActionSupport {
>
>     private List<Account> accounts = new ArrayList<Account>();
> //getter, setters, execute
> }
>
> in my JSP:
>
> <tr>
>     <td><input type="text" name="accounts[0].name"/></td>
>     <td><input type="text" name="accounts[0].value1"/></td>
>     <td><input type="text" name="accounts[0].value2"/></td>
>     <td><input type="text" name="accounts[0].value3"/></td>
>     <td>%</td>
> </tr>
> <tr>
>     <td><input type="text" name="accounts[1].name"/></td>
>     <td><input type="text" name="accounts[1].value1"/></td>
>     <td><input type="text" name="accounts[1].value2"/></td>
>     <td><input type="text" name="accounts[1].value3"/></td>
>     <td>%</td>
> </tr>
>
> When i submit the form, i get warning message like the following when the
> BigDecimal value fields are empty :
>
> 2009-09-09 13:52:44,156 [http-80-Processor125] WARN
>  com.opensymphony.xwork2.ognl.OgnlValueStack  - Error setting expression
> 'accounts[0].value2' with value '[Ljava.lang.String;@165de14'
> ognl.MethodFailedException: Method "setValue2" failed for object
> junit.adm.authority.acco...@7a8ba4 [java.lang.NoSuchMethodException:
> junit.adm.authority.Account.setValue2([Ljava.lang.String;)]
> at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1265)
>  at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1454)
> at
> ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85)
>  at
> ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162)
> at
> com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:28)
>  at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2225)...
>
> If the fields have value, then there is no message for that particular
> field and value gets set properly. Only occur if the field is empty.
> If i change the property in Account to Double or double, there wont be any
> warning.
>
> I am not running under devMode = true.
>
> Is this a bug? or something else?
> Thanks
>

Reply via email to