2014-07-17 9 views
6

Ho un file template.xhtml alla /template/template.xhtmljavax.faces.FacesException: Impossibile risolvere NavigationCase per l'esito

<h:head> 

</h:head> 

<h:body> 
    <p:layout fullPage="true"> 
     <p:layoutUnit position="north" size="100"> 
      <h:outputText value="header"></h:outputText> 
     </p:layoutUnit> 
     <p:layoutUnit position="center"> 
      <p:layout> 
       <p:layoutUnit position="north"> 
        <h:outputText value="tabs"/> 
        <ui:include src="/tabs/tabs.xhtml"/> 
       </p:layoutUnit> 
       <p:layoutUnit position="west"> 
        <h:outputText value="left menu"></h:outputText> 
       </p:layoutUnit> 
       <p:layoutUnit position="center"> 
        <h:outputText value="main-content"></h:outputText> 
       </p:layoutUnit> 
      </p:layout> 
     </p:layoutUnit> 
     <p:layoutUnit position="south" size="100"> 
      <h:outputText value="footer"></h:outputText> 
     </p:layoutUnit> 
    </p:layout> 
</h:body> 
</html> 

ho lima tabs.xhtml a /tabs/tabs.xhtml

<h:head> 

</h:head> 


<p:tabMenu activeIndex="#{param.i}"> 
    <p:menuitem value="Overview" outcome="index"> 
     <f:param name="i" value="0" /> 
    </p:menuitem> 
    <p:menuitem value="Demos" outcome="index"> 
     <f:param name="i" value="1" /> 
    </p:menuitem> 
    <p:menuitem value="Documentation" outcome="index"> 
     <f:param name="i" value="2" /> 
    </p:menuitem> 
    <p:menuitem value="Support" outcome="index"> 
     <f:param name="i" value="3" /> 
    </p:menuitem> 
    <p:menuitem value="Social" outcome="index"> 
     <f:param name="i" value="4" /> 
    </p:menuitem> 
</p:tabMenu> 

sto ottenendo il seguente eccezione a causa delle ui includono tag in template.xhtml. È l'attributo src di ui includono è sbagliato .:

javax.faces.FacesException: Could not resolve NavigationCase for outcome: index 
at org.primefaces.renderkit.OutcomeTargetRenderer.getTargetURL(OutcomeTargetRenderer.java:86) 
at org.primefaces.component.menu.BaseMenuRenderer.encodeMenuItem(BaseMenuRenderer.java:162) 
at org.primefaces.component.tabmenu.TabMenuRenderer.encodeItem(TabMenuRenderer.java:89) 
at org.primefaces.component.tabmenu.TabMenuRenderer.encodeMarkup(TabMenuRenderer.java:65) 
at org.primefaces.component.menu.BaseMenuRenderer.encodeEnd(BaseMenuRenderer.java:108) 
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879) 
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85) 
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68) 
at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:49) 
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879) 
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:85) 
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68) 
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:83) 
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68) 
at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:49) 
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1651) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1651) 
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1651) 
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:395) 
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127) 
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) 
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309) 
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) 
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) 
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301) 
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) 
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) 
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730) 
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696) 
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273) 
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179) 
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490) 
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) 
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) 
+0

Mostrare anche la struttura della directory. – adam0404

+0

lo src è corretto nell'interfaccia utente: include. È risultato = "indice" è un attributo predefinito per alcuni tag che è definito qui. – Akhil

risposta

6

Il tag ui:include funziona come previsto. Il problema è all'interno di tabx.xhtml. Per i menu, hai outcome="index" e il mio denaro è su index.xhtml non nella stessa cartella di tab.xhtml. O assicurati che il risultato sia un collegamento relativo come ../index o rendilo assoluto come /index.

Per ulteriore assistenza è necessario pubblicare la struttura della directory.

+0

L'ho provato e result = "/ index" non ha funzionato per me. L'hai provato? –

Problemi correlati