2012-08-06 2 views
0

primefaces 문서에 따라 선택 항목이 배열이어야합니다. 아래 코드에서 bean.selectedUsers는 "HasUsersVO [] selectedUsers"로 정의되었지만 datatable의 값은 List입니다. 데이터 테이블이 채워진 후 확인 버튼을 클릭하면 맨 아래에 붙여 넣기 오류가 발생합니다.p : selectionMode를 복수로 datatable 가능

   <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> 

오류

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:] 
+0

목록을 선택 목록으로 바꾸시겠습니까? –

+0

@NikitaBeloglazov 그렇다면 배열이 아니기 때문에 다른 오류가 발생합니다. 문서 당 나는 선택을위한 배열을 줄 필요가있다. –

+0

primeface 디버깅을 시도 했습니까? –

답변

3

예외 메시지와 스택 트레이스는 #{bean.peopleVOList} 뒤에 PeopleVO[] 배열을 공급 한 것을 나타냅니다. 이것은 옳지 않다. Collection이어야하며, 바람직하게는 ArrayList<PeopleVO>이어야합니다.

private List<PeopleVO> peopleVOList; 

#{bean.selectedUsers}은 참으로 PeopleVO[]해야합니다. 그 부분은 괜찮아.

+0

당신이 옳습니다. 나는 목록으로 바뀌었고 현재 작동 중이다. –