Generics Struts 2-映射和泛型的类型转换问题

Generics Struts 2-映射和泛型的类型转换问题,generics,map,struts2,Generics,Map,Struts2,在我的action类中,我有一个Map属性,名为accountsMap。假设我得到的键值是100101102。我在JSP中对复选框进行了编码,因此POST参数如下所示: accountsMap[100]=string1 accountsMap[100]=string2 accountsMap[101]=string3 accountsMap[101]=string4 accountsMap[102]=string5 因此,生成的映射应该包含3个带有键100101102的条目。键为100的映射项

在我的action类中,我有一个
Map
属性,名为accountsMap。假设我得到的键值是100101102。我在JSP中对复选框进行了编码,因此POST参数如下所示:

accountsMap[100]=string1
accountsMap[100]=string2
accountsMap[101]=string3
accountsMap[101]=string4
accountsMap[102]=string5
因此,生成的映射应该包含3个带有键100101102的条目。键为100的映射项应具有一个集,其中包含两个字符串(string1和string2)作为其值。希望你能明白

在提交页面时,我确实从struts获得了一个填充的映射。但是地图上的泛型信息似乎已经被丢弃了。首先,映射的键是Integer类型,并且不像原始映射所期望的那样长。然后,映射值的类型为
String[]
;而不是
设置
。Struts能够使用我的setter设置这些值,但是当我使用假设键类型为Long、值类型为set的映射执行任何操作时,就会出现类强制转换异常

如何让struts在映射中设置正确的值类型?请帮忙。

解决了


我没有为该属性提供getter,因为它是只从页面写入的-当页面加载时,我没有该属性的值。我添加了一个getter(作为一个绝望的措施),它解决了问题!谁?!:-)

你好,struts2新成员。。。为了让事情顺利进行,如果您能将您的评论作为解决方案发布,然后接受它,那就太好了,或者您可以删除该问题,因为其他人回答它没有意义。@四元数,我不知道如何删除该问题,所以我已将我先前的评论作为答案发布。顺便说一句,即使这样(回答我自己的问题)在我发表评论时也是不允许的。