简体   繁体   中英

javax.faces.FacesException: Assertion Failed

my landing jspo page is as below

<%-- jsf:pagecode language="java" location="/src/pagecode/view/common/AIRLandingPage.java" --%><%-- /jsf:pagecode --%><%@taglib
    uri="http://java.sun.com/portlet" prefix="portlet"%><%@taglib
    uri="http://www.ibm.com/jsf/html_extended" prefix="hx"%><%@taglib
    uri="http://java.sun.com/jsf/core" prefix="f"%><%@page language="java"
    contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"
    session="false"%><portlet:defineObjects />
<f:view>
    <hx:scriptCollector id="scriptCollectorLandingPage"
        preRender="#{pc_AirLandingPage.onPageLoadBegin}">

        <f:subview id="subViewInitiator"
            rendered="#{pc_AirLandingPage.blnRenderInitiator}"><jsp:include
                page="AIRSearchViewForms.jsp" flush="false"></jsp:include></f:subview>


        <f:subview id="subViewMRORAssignee"
            rendered="#{pc_AirLandingPage.blnRenderMRORAssignee}"><jsp:include
                page="AIRSearchAssignee.jsp" flush="false"></jsp:include></f:subview>

    </hx:scriptCollector>

</f:view>

getting the below error when this page page is loaded from some other page. please help.

[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R javax.faces.FacesException: Assertion Failed
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.sun.faces.util.Util.doAssert(Util.java:1353)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.sun.faces.taglib.jsf_core.ViewTag.getComponentType(ViewTag.java:245)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at javax.faces.webapp.UIComponentTag.createComponent(UIComponentTag.java:1020)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at javax.faces.webapp.UIComponentTag.createChild(UIComponentTag.java:1043)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at javax.faces.webapp.UIComponentTag.findComponent(UIComponentTag.java:756)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:436)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:104)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm._jsp._AIRSearchViewForms._jspx_meth_f_view_0(_AIRSearchViewForms.java:4376)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm._jsp._AIRSearchViewForms._jspService(_AIRSearchViewForms.java:145)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:87)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:232)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:639)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1042)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1005)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm._jsp._AIRLandingPage._jspx_meth_f_subview_0(_AIRLandingPage.java:117)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm._jsp._AIRLandingPage._jspx_meth_f_view_0(_AIRLandingPage.java:170)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm._jsp._AIRLandingPage._jspService(_AIRLandingPage.java:88)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:87)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
[5/9/11 20:08:13:498 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:524)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:232)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:639)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.portletcontainer.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:98)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.ws.portletcontainer.core.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:230)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.faces.portlet.httpbridge.PortletRequestDispatcherWrapper.include(PortletRequestDispatcherWrapper.java:61)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.faces.portlet.httpbridge.PortletRequestDispatcherWrapper.forward(PortletRequestDispatcherWrapper.java:35)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:325)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.faces.portlet.httpbridge.PortletExternalContextWrapper.dispatch(PortletExternalContextWrapper.java:90)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:257)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.faces.portlet.PortletViewHandlerImpl.renderView(PortletViewHandlerImpl.java:79)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:220)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:118)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.faces.portlet.FacesPortlet.doRender(FacesPortlet.java:372)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.faces.portlet.FacesPortlet.doView(FacesPortlet.java:413)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.assignmentinitrequestportlet.AssignmentInitRequestPortlet.doView(AssignmentInitRequestPortlet.java:91)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at com.ibm.faces.portlet.FacesPortlet.doDispatch(FacesPortlet.java:301)
[5/9/11 20:08:13:513 IST] 0000006c SystemErr     R  at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
 javax.faces.FacesException: Assertion Failed at com.sun.faces.util.Util.doAssert(Util.java:1353) at com.sun.faces.taglib.jsf_core.ViewTag.getComponentType(ViewTag.java:245) 

This indicates that your <f:view> is been duplicated in the include pages. This is illegal. The entire JSF component tree can have only one <f:view> and there can be multiple <f:subview> elements. The <f:view> tag should go in the master page and the <f:subview> should go in the include page.

Rewrite your master page as follows:

<f:view>
    <hx:scriptCollector id="scriptCollectorLandingPage" preRender="#{pc_AirLandingPage.onPageLoadBegin}">
        <h:panelGroup rendered="#{pc_AirLandingPage.blnRenderInitiator}">
            <jsp:include page="AIRSearchViewForms.jsp" flush="false" />
        </h:panelGroup>
        <h:panelGroup rendered="#{pc_AirLandingPage.blnRenderMRORAssignee}">
            <jsp:include page="AIRSearchAssignee.jsp" flush="false" />
        </h:panelGroup>
    </hx:scriptCollector>
</f:view>

Rewrite your AIRSearchAssignee and AIRSearchAssignee JSPs as follows:

<f:subview id="subViewInitiator">
    ... original content here, do NOT use f:view!
</f:subview>

and

<f:subview id="subViewMRORAssignee">
    ... original content here, do NOT use f:view!
</f:subview>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM