JSF配置的jsp文件正在运行,但xhtml没有运行
我尝试了stackoverflow和其他论坛上看到的所有内容。它不起作用了 它正确地运行了jsp文件,但没有为xhtml页面运行新的facelets 我已经完成了从jsf1.x到2.x线程的迁移: 即使过滤器也在简单的jsp实现中工作,在这里我尝试删除过滤器,但仍然不工作。甚至连错误都想不出来 错误:JSF配置的jsp文件正在运行,但xhtml没有运行,jsf,jakarta-ee,jsf-2,facelets,web.xml,Jsf,Jakarta Ee,Jsf 2,Facelets,Web.xml,我尝试了stackoverflow和其他论坛上看到的所有内容。它不起作用了 它正确地运行了jsp文件,但没有为xhtml页面运行新的facelets 我已经完成了从jsf1.x到2.x线程的迁移: 即使过滤器也在简单的jsp实现中工作,在这里我尝试删除过滤器,但仍然不工作。甚至连错误都想不出来 错误: exception javax.servlet.ServletException javax.faces.webapp.FacesServlet.service(FacesServle
exception
javax.servlet.ServletException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:230)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.StackOverflowError
java.net.URLStreamHandler.parseURL(Unknown Source)
java.net.URL.<init>(Unknown Source)
java.net.URL.<init>(Unknown Source)
org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.resolveURL(DefaultFaceletFactory.java:314)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.getRelativePath(DefaultFacelet.java:470)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:552)
org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:240)
org.apache.myfaces.view.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
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.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
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.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
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.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
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.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
异常
javax.servlet.ServletException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:230)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
根本原因
栈溢出
java.net.URLStreamHandler.parseURL(未知源)
java.net.URL。(未知源)
java.net.URL。(未知源)
org.apache.myfaces.view.facelets.impl.DefaultFaceletFactory.resolveURL(DefaultFaceletFactory.java:314)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.getRelativePath(DefaultFacelet.java:470)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:552)
org.apache.myfaces.view.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:240)
org.apache.myfaces.view.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
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.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
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.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
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.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
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.CompositionHandler.apply(CompositionHandler.java:151)
org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59)
org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:521)
org.apache.myfaces.view.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:575)
web.xml
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<body>
<h:form>
<center>
<h:outputText value="#{loginMB.username}"></h:outputText>
<h1>Welcome <h:outputText value="#{teamMB.teamHeadUsername}"></h:outputText></h1>
<h:outputLink value="./login.jsf">Login as Team Admin</h:outputLink><br></br><br></br>
<h:outputLink value="./registerteam.jsf" >Register your Team</h:outputLink><br></br><br></br>
<h:outputLink value="./header.jsf">Header</h:outputLink><br></br><br></br>
<h:outputLink value="./secure/dashboard.jsf">Dashboard</h:outputLink>
</center>
</h:form>
</body>
<ui:composition template="">
<ui:define name="header">
Add your header here or delete to use the default
</ui:define>
<ui:define name="content">
Add your content here or delete to use the default
</ui:define>
<ui:define name="footer">
Add your footer here or delete to use the default
</ui:define>
</ui:composition>
</html>
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
/面孔/*
Facesservlet
*.jsf
Facesservlet
*.面孔
Facesservlet
*.xhtml
home.xhtml
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<body>
<h:form>
<center>
<h:outputText value="#{loginMB.username}"></h:outputText>
<h1>Welcome <h:outputText value="#{teamMB.teamHeadUsername}"></h:outputText></h1>
<h:outputLink value="./login.jsf">Login as Team Admin</h:outputLink><br></br><br></br>
<h:outputLink value="./registerteam.jsf" >Register your Team</h:outputLink><br></br><br></br>
<h:outputLink value="./header.jsf">Header</h:outputLink><br></br><br></br>
<h:outputLink value="./secure/dashboard.jsf">Dashboard</h:outputLink>
</center>
</h:form>
</body>
<ui:composition template="">
<ui:define name="header">
Add your header here or delete to use the default
</ui:define>
<ui:define name="content">
Add your content here or delete to use the default
</ui:define>
<ui:define name="footer">
Add your footer here or delete to use the default
</ui:define>
</ui:composition>
</html>
欢迎
以团队管理员身份登录
注册您的团队
标题
仪表板
在此处添加标题或删除以使用默认标题
在此处添加内容或删除以使用默认设置
在此处添加页脚或删除页脚以使用默认值
我自己解决了。必须完全清空faces-config.xml文件,该文件以前填充了managedBeans
而且在xhtml文件
ui:composition
tag被删除,我认为这是主要问题。我也有同样的问题。经过调查,我发现您提到的问题在于ui:composition
标记。它给出该错误的原因是没有定义模板文件。一旦我定义了一个,它就正常工作了。@BalusC,如果你能帮我的话。谢谢