【发布时间】:2015-07-12 04:39:45
【问题描述】:
我已经启动了一个 Spring-JSF 应用程序。我已将此应用程序分解为一些单独的模块,这些模块也应单独归档和部署。例如:
- 处理登录、页面模板、加载和显示菜单等的主模块。
- 另一个模块处理业务特定的视图和逻辑,例如:Employee.xhtml
所以用户通过身份验证后,在索引页面中,他/她想导航到第二个模块中的Employee.xhtml页面(因此它部署在单独的war文件中的tomcat上)。
在这种情况下,当我在 tomcat 上部署两个 WAR 文件时,主应用程序在第二个 WAR 文件中找不到 Employee.xhtml 或类似的东西。我收到此错误:
java.io.FileNotFoundException: Facelet /pages/Employee.xhtml not found at: jndi:/localhost/pages/Employee.xhtml
org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory._createFacelet(DefaultFaceletFactory.java:387)
org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.access$000(DefaultFaceletFactory.java:57)
org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory$1.newInstance(DefaultFaceletFactory.java:124)
org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory$1.newInstance(DefaultFaceletFactory.java:121)
org.apache.myfaces.view.facelets.impl.FaceletCacheImpl.getFacelet(FaceletCacheImpl.java:84)
org.apache.myfaces.view.facelets.impl.FaceletCacheImpl.getFacelet(FaceletCacheImpl.java:51)
org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:278)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:574)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:553)
org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:240)
org.apache.myfaces.view.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:228)
javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:55)
...
另外,我不会在这两个应用程序之间导航。那就是我试图在第一个主war文件的页面中心区域包含来自第二个war文件的页面。
有什么想法吗?! 任何帮助将不胜感激。
【问题讨论】:
标签: tomcat jsf-2 deployment facelets jspinclude