<分区>
我已经启动了一个 Spring-JSF 应用程序。我已将此应用程序分解为一些单独的模块,这些模块也应单独存档和部署。例如:
- 处理登录、页面模板、加载和显示菜单等的主要模块。
- 另一个模块处理业务特定的 View 和逻辑,例如:Employee.xhtml
所以用户通过认证后,在index页面,他/她想导航到第二个模块中的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 文件的页面。
有什么想法吗?! 任何帮助将不胜感激。