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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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 Richfaces嵌套Accordion中的空指针异常_Jsf_Jsf 2_Richfaces - Fatal编程技术网

Jsf Richfaces嵌套Accordion中的空指针异常

Jsf Richfaces嵌套Accordion中的空指针异常,jsf,jsf-2,richfaces,Jsf,Jsf 2,Richfaces,我正在使用RichFaces4.2.2,并尝试使用相同的方法实现嵌套的accordion。其Facelet代码如下所示: <h:form id="accordForm"> <rich:accordion switchType="client" activeItem="#{projectCreation.activeTab}"> <c:forEach var="proj" items="#{projectCreation.projects}"&

我正在使用RichFaces4.2.2,并尝试使用相同的方法实现嵌套的accordion。其Facelet代码如下所示:

<h:form id="accordForm">
    <rich:accordion switchType="client" activeItem="#{projectCreation.activeTab}">
        <c:forEach var="proj" items="#{projectCreation.projects}">
            <rich:accordionItem name="#{proj.description}">
                <f:facet name="header">#{proj.description}</f:facet>
                <h:form>
                    <rich:accordion switchType="client" activeItem="#{projectCreation.activeModuleTab}" rendered="#{proj.modules[0]!=null}">
                        <c:forEach var="mdle" items="#{proj.modules}">
                            <rich:accordionItem name="#{mdle.description}">
                                <f:facet name="header">#{mdle.description}</f:facet>
                                <t:dataList var="subMdle" value="#{mdle.subModules}" layout="unorderedList">
                                    <h:outputText value="#{subMdle.description}"></h:outputText>
                                </t:dataList>
                            </rich:accordionItem>
                        </c:forEach>
                    </rich:accordion>
                </h:form>
            </rich:accordionItem>
        </c:forEach>
    </rich:accordion>
</h:form>

有人知道为什么会这样吗?

删除activeItem属性并将id属性设置为rich:accordion。为我工作。祝你好运

它返回
projectCreation.getActiveTab()
返回
null
。你能在调试器中检查这个吗?它不是
null
,我已经检查过了。实际上,在实现嵌套手风琴之前,我已经实现了简单的手风琴,它工作得很好。看看这个:@Christophe Roussy
c:forEach
的工作方式与
ui:repeat
不同。因此,您无法使该链接适用于此问题。是否正确读取了您的
{proj.description}
属性?当你进行迭代时,检查他们是否已经有了值。回答得好,但是当你帮助提供代码的人时,总是尝试给他们固定的代码示例,解释更改,以及为什么这些更改对解决他们的问题很重要。这样,用户下次有一个样本要处理,他知道根据样本和您的答案要做什么,为什么要这样做。@Diana感谢您的回答,但我刚刚使用了一些解决问题的方法。然而,正如我所想,activeItem属性是必要的,因为我需要保持对所选accordion的检查,我认为id与此无关,因为jsf隐式生成id属性。
java.lang.NullPointerException
    org.richfaces.component.AbstractAccordion.getActiveItem(AbstractAccordion.java:66)
    org.richfaces.component.AbstractTogglePanel.encodeBegin(AbstractTogglePanel.java:166)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1777)
    javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
    javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:276)
    org.richfaces.renderkit.html.TogglePanelItemRenderer.doEncodeChildren(TogglePanelItemRenderer.java:136)
    org.richfaces.renderkit.html.AccordionItemRenderer.doEncodeChildren(AccordionItemRenderer.java:93)
    org.richfaces.renderkit.RendererBase.encodeChildren(RendererBase.java:157)
    javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:276)
    org.richfaces.renderkit.html.TogglePanelRenderer.doEncodeChildren(TogglePanelRenderer.java:127)
    org.richfaces.renderkit.RendererBase.encodeChildren(RendererBase.java:157)
    javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
    javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:437)
    com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
    javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:286)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    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.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)
    com.hcl.common.filter.MySessionFilter.doFilter(MySessionFilter.java:90)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)