2014-07-17 15 views
6

Tôi có một file template.xhtml tại /template/template.xhtmljavax.faces.FacesException: Không thể giải quyết NavigationCase cho kết quả

<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> 

Tôi có tập tin tabs.xhtml tại /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> 

Tôi nhận được ngoại lệ sau vì ui bao gồm thẻ trong template.xhtml. Thuộc tính src của ui có sai không .:

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

Vui lòng hiển thị cấu trúc thư mục. – adam0404

+0

src là đúng trong ui: include. Là kết quả = "chỉ mục" là một số thuộc tính mặc định cho một số thẻ được định nghĩa ở đây. – Akhil

Trả lời

6

Thẻ ui:include hoạt động như mong đợi. Vấn đề nằm trong tabx.xhtml. Đối với các menuitems bạn có outcome="index" và tiền của tôi là trên index.xhtml không có trong cùng thư mục với tab.xhtml. Hãy chắc chắn rằng kết quả là một liên kết tương đối như ../index hoặc làm cho nó tuyệt đối như /index.

Để được hỗ trợ thêm, bạn nên đăng cấu trúc thư mục của mình.

+0

Tôi đã thử nó và kết quả = "/ index" did'nt làm việc cho tôi. Bạn đã thử chưa? –

Các vấn đề liên quan