2014-01-14 126 views
0

我在配置我的JSF页面时遇到问题。 我曾经在一个软件项目中使用JSF,但那是前一段时间。现在我需要它为一个私人项目,并有一个巨大的问题启动我的JSF页面。 因为前一段时间我最后一次使用它,我决定按照教程开始。这是this。我试图在本地主机上的Tomcat 6.0上运行它,但是在页面上显示错误。JSF 2.0启动时出错

type Exception report 

message 

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException 
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:606) 
root cause 

java.lang.StackOverflowError 
    java.net.URLStreamHandler.equals(Unknown Source) 
    java.net.URL.equals(Unknown Source) 
    java.util.concurrent.ConcurrentHashMap.get(Unknown Source) 
    com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:95) 
    com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:121) 
    com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:62) 
    com.sun.faces.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:256) 
    com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:366) 
    com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346) 
    com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199) 
    com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155) 
    com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93) 
    com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86) 
    com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:308) 
    com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:367) 
    com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346) 

我不知道,为什么。代码非常精细,就像在教程中一样。这里是我的的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>Test</display-name> 
    <welcome-file-list> 
    <welcome-file>login.xhtml</welcome-file> 
    </welcome-file-list> 
    <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>*.xhtml</url-pattern> 
    </servlet-mapping> 
    <context-param> 
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> 
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
    <param-value>client</param-value> 
    </context-param> 
    <context-param> 
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> 
    <param-value>resources.application</param-value> 
    </context-param> 
    <listener> 
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener> 
</web-app> 

我希望你能帮助我。 Greetings

回答

1

好吧伙计, 我只是试了一切,一块一块地删除代码,看看会发生什么。 而我发现

<ui:composition template=""> 

正在出现问题。刚删除它,一切工作正常。

+0

你是递归地在无限循环中包含非常相同的模板。 – BalusC