0

我有一个具有以下结构的冰面 jspx 页面

<ice:dataTable..>
  <ice:columns>
    <ice:rowSelector .../> 
    <f:facet name="header">
      <ice:outputText ..../>
    </f:facet>
    <ice:outputText ...../>
  </ice:columns>
</ice:dataTable..>

在加载页面时,会引发以下异常,说明 dataTable 不是 rowSelector 的父级。但我已经验证数据表是 rowSelector 的父组件。

有没有人遇到过类似的问题?我找不到与此问题有关的任何内容,但有解决方案。

java.lang.RuntimeException: RowSelectorRenderer: decode. Could not find an Ice:dataTable as a parent componenent
        at com.icesoft.faces.component.ext.RowSelector.getParentDataTable(RowSelector.java:505)
        at com.icesoft.faces.component.ext.RowSelector.updateCurrentSelection(RowSelector.java:131)
        at com.icesoft.faces.component.ext.RowSelector.setValue(RowSelector.java:125)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.facelets.tag.BeanPropertyTagRule$LiteralPropertyMetadata.applyMetadata(BeanPropertyTagRule.java:49)
        at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
        at com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:144)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)
        at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:116)
        at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:337)
        at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:307)
        at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
        at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
        at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
        at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
        at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:105)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
        at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
        at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
        at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
        at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:65)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)
        at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:131)
        at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:337)
        at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:307)
        at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)
        at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:116)
        at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:337)
        at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:307)
        at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
        at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
        at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
        at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
        at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
        at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
        at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
        at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:105)
        at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
        at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
        at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
        at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
        at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)
        at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
        at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
        at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
        at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
        at com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:273)
        at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:155)
        at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
        at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
        at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:51)
        at com.icesoft.faces.context.View$2$1.respond(View.java:85)
        at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:242)
        at com.icesoft.faces.context.View$2.serve(View.java:119)
        at com.icesoft.faces.context.View.servePage(View.java:192)
        at com.icesoft.faces.webapp.http.core.MultiViewServer.service(MultiViewServer.java:111)
        at com.icesoft.faces.webapp.http.common.ServerProxy.service(ServerProxy.java:43)
        at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet$4.service(MainSessionBoundServlet.java:187)
        at com.icesoft.faces.webapp.http.servlet.BasicAdaptingServlet.service(BasicAdaptingServlet.java:51)
        at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:55)
        at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:100)
        at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:55)
        at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:205)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.adminserver.pas.web.helper.LoginFilter.doFilter(LoginFilter.java:95)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)
4

1 回答 1

0

行选择器有时会导致动态列出现问题。

尝试添加一个假ice:column的并将选择器放在该标签下,就像这里建议的那样。

于 2013-07-01T12:19:26.197 回答