Hi Prasanth,

I searched and saw it is some different for ModelDriven [1].

Regards.

[1]
https://struts.apache.org/core-developers/type-conversion.html#applying-a-type-converter-to-a-bean-or-model
(Applying a Type Converter to a bean or model)

On 3/6/2019 7:36 PM, Prasanth wrote:
> I have created the below in CompDeferralAction-conversion.properties (action 
> class is CompDeferralAction). The variable name is deferralCode. But still 
> struts is populating the value as Long rather
> than Integer. Am I missing anything here?
> This action is ModelDriven so the deferralCode variable is in a different 
> class.
> 
> Looking at the documentation seems like it should be KeyProperty, so I named 
> it as such.
> KeyProperty_deferralCode=java.lang.Long
> Element_deferralCode=java.lang.Interger
> 
> I have also tried the annotations
> 
>     @TypeConversion(rule=ConversionRule.MAP, key="java.lang.Long", 
> value="java.lang.Integer")
>     public void setDeferralCode(HashMap<Long, Integer> deferralCode) {
>         this.deferralCode = deferralCode;
>     }
> 
> Thanks,
> Prasanth
> 
> On 2/16/19 3:20 AM, Yasser Zamani wrote:
>> I think a file named yourActionClass-conversion.properties beside your 
>> action with following contents should help [1]:
>>
>> Key_xxx=java.lang.Long
>> Element_xxx=java.lang.Double
>>
>> (where xxx is the field name of the collection property in your action or 
>> object)
>>
>> Regards.
>>
>> [1] 
>> https://struts.apache.org/core-developers/type-conversion.html#collection-and-map-support
>>
>>> -----Original Message-----
>>> From: Prasanth <dbad...@pangburngroup.com>
>>> Sent: Friday, February 15, 2019 9:08 PM
>>> To: user@struts.apache.org
>>> Subject: Re: Map backed form
>>>
>>> Does struts follow a specific logic as to what the data type of the object 
>>> would be
>>> based on user input? Meaning when is it converted to a Double vs Integer vs
>>> String?
>>>
>>> Thanks,
>>> Prasanth
>>>
>>> On 2/15/19 7:45 AM, Lukasz Lenart wrote:
>>>> pt., 15 lut 2019 o 00:17 Prasanth <dbad...@pangburngroup.com> napisał(a):
>>>>> I have a map (Map<Long, Double>) but based on the data entered by the
>>>>> user the value in the Map is Double or String. Example if the user enters 
>>>>> a
>>> value of 10 then it is coming in as double but if the user enters 10.5 then 
>>> a string
>>> is present in the value. Does Struts2 look at the data types of the key and 
>>> value of
>>> the map and set the key and values in the map accordingly?
>>>> Struts is not a problem here, generic types are erased at runtime, so
>>>> basically this a Map<Object, Object> at the end
>>>> https://docs.oracle.com/javase/tutorial/java/generics/erasure.html
>>>>
>>>>> If not, what is the best practice for the declaration of Map, is there a 
>>>>> way to
>>> force Struts2 to only have Double objects as values?
>>>> I would probably use a custom type instead of Double and implement
>>>> converter for it, or even replace the Map with a List of custom
>>>> objects.
>>>>
>>>>
>>>> Regards
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>> For additional commands, e-mail: user-h...@struts.apache.org
>>
> 
> 

Reply via email to