2015-02-11 83 views
1

我发现自己处于JSF错误中,但不知道为什么会出现这种错误。我会告诉你的看法部分:IllegalArgumentException:无法将类java.util.HashSet的类型[]转换为类xxx

<rich:extendedDataTable id="objects" value="#{newObjectsBean.objectsList}" 
      selection="#{newObjectsBean.objectToDelete}" 
      rendered="#{newObjectsBean.anyResult}" 
      selectionMode="single" var="item" rows="10" > 
<a4j:ajax execute="@form" event="selectionchange" 
    listener="#{newObjectsBean.selectionListener}" render="deletionButton"/> 
<rich:column width="125px" sortBy="#{item.sId}" 
    sortOrder="#{fragSortingBean.sortsOrders['sId']}"> 
    <f:facet name="header"> 
    <h:panelGrid columns="2" cellpadding="0" cellspacing="2" 
      style="text-align: left; height: 30px"> 
     <a4j:commandLink execute="@this" value="id" render="objects" 
        action="#{fragSortingBean.sort}"> 
      <f:param name="sortProperty" value="sId"/> 
     </a4j:commandLink> 
     <h:graphicImage value="../../resources/images/arrow_sort_down.png" 
        rendered="#{fragSortingBean.sortsOrders['sId']=='descending'}"/> 
     <h:graphicImage value="../../resources/images/arrow_sort_up.png" 
        rendered="#{fragSortingBean.sortsOrders['sId']=='ascending'}"/> 
    </h:panelGrid> 
</f:facet> 
<h:outputText id="ssaId" value="#{item.sId}"/> 
</rich:column> 

随后的项目是对象(MyObjectBean)只有三个属性(及其相应的getter/setter)

问题跟踪列表如下:

java.lang.IllegalArgumentException: Cannot convert [] of type class java.util.HashSet to class xxx.yyy.zzz.entities.MyObjectBean 
     at com.sun.el.lang.ELSupport.coerceToType(ELSupport.java:397) 
     at com.sun.el.parser.AstValue.setValue(AstValue.java:194) 
     at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:286) 
     at org.jboss.weld.el.WeldValueExpression.setValue(WeldValueExpression.java:88) 
     at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:124) 
     at org.richfaces.renderkit.SortingFilteringRowsRenderer.updateAttribute(SortingFilteringRowsRenderer.java:142) 
     at org.richfaces.renderkit.SelectionRenderer.doDecode(SelectionRenderer.java:175) 
     at org.richfaces.renderkit.ExtendedDataTableRenderer.doDecode(ExtendedDataTableRenderer.java:805) 
     at org.richfaces.renderkit.RendererBase.decode(RendererBase.java:80) 
     at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:790) 
     at org.richfaces.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:816) 
     at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1042) 
     at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1042) 
     at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1042) 
     at javax.faces.component.UIForm.processDecodes(UIForm.java:216) 
     at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1042) 
     at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1042) 
     at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:941) 
     at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78) 
     at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
     at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312) 

任何线索? 在此先感谢

回答

1

@选择EDT必须评估为一个集合,它看起来像你的指向一个单一的对象。

+0

太棒了!正如我所说的单一选择模式,我错误地指出了一个对象。非常感谢! – Alexcocia 2015-02-12 07:54:45

相关问题