Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf p:selectionMode为multiple的数据表_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf p:selectionMode为multiple的数据表

Jsf p:selectionMode为multiple的数据表,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,根据primefaces文档,选择应为数组。在下面的代码中,bean.selectedUsers被定义为“HasUsersVO[]selectedUsers”,但datatable的值是List。当我在数据表被填充后单击OK按钮时,我得到了粘贴在底部的cast error <p:dataTable id="userListTable" value="#{bean.peopleVOList}" var="user" ro

根据primefaces文档,选择应为数组。在下面的代码中,bean.selectedUsers被定义为“HasUsersVO[]selectedUsers”,但datatable的值是List。当我在数据表被填充后单击OK按钮时,我得到了粘贴在底部的cast error

                <p:dataTable id="userListTable" value="#{bean.peopleVOList}"
                    var="user" rowClasses="odd even" selection="#{bean.selectedUsers}" rowKey="#{user.userGuid}"
                    <p:column selectionMode="multiple" style="width:18px">
                    </p:column>
.....
.....
</p:dataTable>

异常消息和堆栈跟踪表明您在
{bean.peopleVOList}
后面提供了一个
PeopleVO[]
数组。这是不对的。它必须是
集合
,最好是
数组列表

private-List-peopleVOList;

{bean.selectedUsers}
确实必须是一个
PeopleVO[]
。这部分很好。

异常消息和堆栈跟踪表明您在
{bean.peopleVOList}
后面提供了一个
PeopleVO[]
数组。这是不对的。它必须是
集合
,最好是
数组列表

private-List-peopleVOList;

{bean.selectedUsers}
确实必须是一个
PeopleVO[]
。这部分很好。

您是否尝试过用列表替换数组以供选择?@NikitaBeloglazov是的,然后我得到了一个不同的错误,因为它不是数组。根据文档,我需要给数组进行选择。您是否尝试调试primefaces?是否尝试用列表替换数组进行选择?@NikitaBeloglazov是的,因为它不是数组,所以我得到了另一个错误。根据文档,我需要提供数组供选择。您是否尝试调试primefaces?
22:59:16,962 INFO  [class com.zreflect.emyed.managedbean.circle.CircleController] (http--127.0.0.1-8080-3) *******************Outside getUsersList********************
22:59:38,943 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http--127.0.0.1-8080-3) [Lcom.user.PeopleVO; cannot be cast to java.util.Collection: java.lang.ClassCastException: [Lcom.user.PeopleVO; cannot be cast to java.util.Collection
    at org.primefaces.component.datatable.DataTable.getRowData(DataTable.java:835) [primefaces-3.3.1.jar:]
    at org.primefaces.component.datatable.DataHelper.decodeMultipleSelection(DataHelper.java:262) [primefaces-3.3.1.jar:]
    at org.primefaces.component.datatable.DataHelper.decodeSelection(DataHelper.java:240) [primefaces-3.3.1.jar:]
    at org.primefaces.component.datatable.DataTableRenderer.decode(DataTableRenderer.java:72) [primefaces-3.3.1.jar:]
private List<PeopleVO> peopleVOList;