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