You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2015/10/12 13:24:27 UTC
[jira] [Commented] (WW-4482) Conversion annotation ignored for
ServletAction parameter
[ https://issues.apache.org/jira/browse/WW-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14953002#comment-14953002 ]
Hudson commented on WW-4482:
----------------------------
SUCCESS: Integrated in Struts-JDK7-master #371 (See [https://builds.apache.org/job/Struts-JDK7-master/371/])
WW-4482 Fallbacks to non-collection evaluation for non-collection param (lukaszlenart: rev 4a08f070f101dbe8a74b7ed53794d645274ee9da)
* xwork-core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
> 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.24
>
>
> 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)