Java 使用集合填充数据表<;请求VO>;
我将此方法称为:Java 使用集合填充数据表<;请求VO>;,java,hibernate,jsf,Java,Hibernate,Jsf,我将此方法称为: public Set<RequestVO> getRequestBySupplier(SupplierVO objectVO) 调试我可以看到requestList中填充了正确的信息。 在我的orderSearch.html中,我有以下数据表: <ui:fragment rendered="#{not empty orderController.requestList}"> <h:dataTable value="#{orderCont
public Set<RequestVO> getRequestBySupplier(SupplierVO objectVO)
调试我可以看到requestList
中填充了正确的信息。
在我的orderSearch.html
中,我有以下数据表:
<ui:fragment rendered="#{not empty orderController.requestList}">
<h:dataTable value="#{orderController.requestList}" var="order">
<h:column>
<f:facet name="header">#</f:facet>
<h:outputText value="#{order.id}" escape="false" />
</h:column>
</h:dataTable>
</ui:fragment>
#
我的orderController
上有requestList
get和set方法
运行代码时,出现以下错误:
/views/fornecedor/orderSearch.xhtml@34,84 value=“#{order.id}”:
类“java.util.HashSet”没有属性“id”
以及堆栈跟踪
:
javax.el.PropertyNotFoundException:
/views/fornecedor/orderSearch.xhtml@34,84 value=“#{order.id}”:
类“java.util.HashSet”没有属性“id”。在
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:111)
在
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
在
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
位于javax.faces.component.UIOutput.getValue(UIOutput.java:169)
com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
在
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
在
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
在
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
在
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
在
com.sun.faces.renderkit.html_basic.TableRenderer.renderRow(TableRenderer.java:384)
在
com.sun.faces.renderkit.html_basic.TableRenderer.encodechildrender(TableRenderer.java:161)
在
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
位于javax.faces.component.UIComponent.encodeAll(UIComponent.java:1757)
位于javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
位于javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
位于javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
在
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
在
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
在
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
位于com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
位于javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
在
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
在
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
位于com.erp3.gui.filters.SessionFilter.doFilter(SessionFilter.java:31)
在
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
在
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
在
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
在
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
在
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
在
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
在
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
在
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
在
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
在
com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
在
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
在
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
在
com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
在
ProcessorTask.process(ProcessorTask.java:1045)
在
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
在
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
在
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
在
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
在
http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
在
ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
在
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
在com.sun.grizzly.ContextTask.run(ContextTask.java:71)上
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
在
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
运行(Thread.java:722)
h:datatable
不支持Set
,您可以将其转换为List
比如说
public List <RequestVO> getListAsSet(Set<RequestVO> set) {
return new ArrayList<RequestVO>(set);
}
公共列表getListAsSet(集合){
返回新的ArrayList(集合);
}
b、 t.w
ui:repeat
也不支持Set
非常感谢Daniel按照您的解决方案我做了这个requestList=new ArrayList(requestBO.getRequestBySupplier(supplierVO))代码>在我的方法上,它起作用了。谢谢
public List <RequestVO> getListAsSet(Set<RequestVO> set) {
return new ArrayList<RequestVO>(set);
}