h:selectManyCheckbox不尊重属性“collectionType”

时间:2013-02-15 18:10:52

标签: jsf-2 mojarra selectmanycheckbox

这个类型的地图支持了几个h:selectManyCheckboxMap<Type, ArrayList<MyItem>>

xhtml代码段如下所示:

<h:selectManyCheckbox
    value="#{backingBean.values['type']}"
    collectionType="java.util.ArrayList"
    converter="#{myCustomConverter}>
    <f:selectItems .../>
</h:selectManyCheckbox>

复选框显示正确,转换器以两种方式正确使用。

不幸的是,当我在提交页面后尝试访问地图的值时,地图不再保留列表。相反,我得到一个ClassCastException,因为值已被Object[]替换。

在互联网上搜索时,我似乎遇到与MyFaces完全相同的问题。

我想,我已将问题追溯到MenuRenderer。确定EL表达式的类型,在我的情况下导致Object。但是,只有当类型首先与Collection相关时,才会尊重属性collectionType

我使用Mojarra 2.1.0,但即使是更高版本也没有更改相关的源代码。

总结:

  • 我是否有List仍然存在的正确期望 List
  • 我真是个小虫?如果是这样,它是否已在以后的版本中修复过?
  • 有解决方法吗?

提前多多感谢。

此致

丹尼尔

0 个答案:

没有答案