You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Andreas Sachs (JIRA)" <ji...@apache.org> on 2014/01/24 17:31:38 UTC

[jira] [Commented] (WW-4240) TypeConversionErrors with Maps

    [ https://issues.apache.org/jira/browse/WW-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13881114#comment-13881114 ] 

Andreas Sachs commented on WW-4240:
-----------------------------------

Hello,
i further investigate this issue. My assumption that the validate-method is not called after a type conversion error for an Integer field is not true.

But there is still a difference:
If there is a type conversion error for an Integer field, the field is null.
If there is a type conversion error for a Map<Integer,Integer>, the map will contain a String-Element with the value "ognl.NoConversionPossible".
That means if you access the map with e.g. Integer i = map.get(0) you will get a class cast exception.
Maybe this map entry should be set to null instead.



> TypeConversionErrors with Maps
> ------------------------------
>
>                 Key: WW-4240
>                 URL: https://issues.apache.org/jira/browse/WW-4240
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.3.15.1
>            Reporter: Andreas Sachs
>            Priority: Minor
>             Fix For: 2.3.17
>
>
> Hello,
> i have an action with the following map definition:
> private Map<Integer, Integer> baelle;
> The jsp contains textfields.
> If the user enters a String instead of an Integer, the map contains a String-Element with the value "ognl.NoConversionPossible". The validation method is called.
> If i have an Integer property and the user enters a String, the validation method is not called. Instead the input-page is shown again. I would expect the same behaviour with a map.
> Thanks
> Andreas



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)