【发布时间】:2012-04-05 13:51:36
【问题描述】:
在我的操作类中,我有一个名为 accountsMap 的 Map<Long, Set<String>> 属性。假设我得到的关键值是 100,101,102。我在 JSP 中对复选框进行了编码,因此 POST 参数如下所示:
accountsMap[100]=string1
accountsMap[100]=string2
accountsMap[101]=string3
accountsMap[101]=string4
accountsMap[102]=string5
因此生成的映射应该包含 3 个条目,键为 100,101,102。键为 100 的 Map 条目应该有一个带有 2 个字符串(string1 和 string2)的 Set 作为其值。希望你能明白。
我在提交页面时从 struts 的操作中得到了一个填充的 Map。但是 Map 的泛型信息似乎已被丢弃。首先,Map 的键是 Integer 类型,而不是原始 Map 所期望的 Long。然后,地图的值是String[] 类型;而不是Set<String>。 Struts 可以使用我的 setter 设置这些值,但是当我对 Map 进行任何操作时,假设键类型为 Long,值类型为 Set,我得到类转换异常。
如何让 struts 在 Map 中设置正确类型的值?请帮忙。
【问题讨论】:
-
您好新的 struts2 成员...为了让事情顺利进行如果您可以将您的评论作为解决方案发表并稍后接受它会很棒,或者您可以删除问题,因为那里其他人回答没有意义。
-
@Quaternion,我不知道如何删除这个问题,所以我发布了我之前的评论作为答案。顺便说一句,即使是这个(回答我自己的问题)在我发表评论时也是不允许的。