struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lukasz Lenart (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (WW-4482) Conversion annotation ignored for ServletAction parameter
Date Thu, 02 Apr 2015 08:17:54 GMT

     [ https://issues.apache.org/jira/browse/WW-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Lukasz Lenart resolved WW-4482.
-------------------------------
    Resolution: Fixed
      Assignee: Lukasz Lenart

Done, resolved!

> Conversion annotation ignored for ServletAction parameter
> ---------------------------------------------------------
>
>                 Key: WW-4482
>                 URL: https://issues.apache.org/jira/browse/WW-4482
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Expression Language, Value Stack
>    Affects Versions: 2.3.20
>            Reporter: Jasper Rosenberg
>            Assignee: Lukasz Lenart
>            Priority: Critical
>             Fix For: 2.3.23
>
>
> This definitely worked before 2.3.20, but unfortunately I haven’t been able to track
down the actual source of the bug introduced for 2.3.20.  My best guess is that it was introduced
when the code was refactored to support Collections.
> Basically I have an Action, with a setter and getter for state that uses a custom type
convertor like so:
> {code:java}
>     /** @return the state. */
>     @TypeConversion(converter = "com.myco.typeconvertor.RegionTypeConvertor")
>     public RegionI getState() {
>         return state;
>     }
> {code}
> When I submit the action, this type convertor is correctly used to turn the “state”
post parameter into a RegionI object which is injected into the Action.  So far so good. 

> However, the result looks like:
> {code:xml}
>       <result name="selfSignupFlow" type="redirectAction">
>          <param name="actionName">confirmAccount</param>
>          <param name="streetAddress">${streetAddress}</param>
>          <param name="city">${city}</param>
>          <param name="state">${state}</param>
>          <param name="postalCode">${postalCode}</param>
> 	    ...
>       </result>
> {code}
> And in the latest release, when it evaluates $\{state} it uses the default type convertor
(in this case for an enum because the concrete class is a USState enum), rather than the com.myco.typeconvertor.RegionTypeConvertor
specified on both the getter and setter for state in the action.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message