java.lang.IllegalStateException:已在视图中找到组件ID

时间:2011-07-06 15:33:55

标签: jsf-2 composite-component illegalstateexception

我收到了这个错误。我在所有组件中添加了id,并在阅读了stackOverflow上的一些其他建议后更改了会话范围。

我正在尝试创建一个包含标签的可折叠面板。

tabbb.xhtml

<cc:implementation>
    <h:panelGroup layout="block" styleClass="collapsiblePanel-header">

        <h:commandButton id="toggleButton"
            action="#{cc.attrs.bean1.togglePanel}"
            styleClass="collapsiblePanel-img"
            image="#{cc.attrs.bean1.collapsed ? '/resources/images/plus.png' : '/resources/images/minus.png'}" />
    </h:panelGroup>
    <h:panelGroup layout="block" rendered="#{cc.attrs.bean1.collapsed}"
        styleClass="collapsiblePanel-img2">
        <cc:renderFacet name="tabs">
            <js:forEach items="#{cc.attrs.bean2.tabBean}">
                <h:outputText>"${cc.attrs.bean2.tabBean}"</h:outputText>
        <li><h:commandLink
                value="#{cc.attrs.bean2.tabBean.description}">
                <f:param name="tabIndex" value="#{cc.attrs.bean2.randomNum}" />
                        <f:ajax event="click" render=":contentForm"
                            listener="#{bean2.handleTabChange}" />
                    </h:commandLink>
                </li>
            </js:forEach>
        </cc:renderFacet>
    </h:panelGroup>
    <cc:insertChildren />
    <h:outputStylesheet library="css" name="components.css" />
</cc:implementation>

使用页面:tabbedcollapsible.xhtml

<h:body>
<h:form id="testform">
    <h:outputText value="Tabbed collapsible panel test page" />

    <jl:tabbb bean1="${collPanel}" bean2="${tabbBean}">
        <f:facet name="tabs">
            <h:outputText value="This Is Cool" />
        </f:facet>

    </jl:tabbb>
</h:form>
</h:body>

bean collPaneltabbBean都是请求作用域。

此外,表单不会呈现标签。我是JSF的新手,我已经坚持了很长时间。感谢。

0 个答案:

没有答案