Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 特立尼达岛的小脸蛋会导致堆积物溢出 我正处于学习特立尼达的java EE的过程中,但遇到了一些问题。特立尼达2.x示例使用JSPX,而他们的旧演示站点使用纯JSFXHTML。当我尝试在XHTML中使用Facelets编写测试页面时,我一直得到java.lang.StackOverflowerError。我不确定这是配置问题还是语法错误_Jsf 2_Glassfish 3_Facelets_Trinidad - Fatal编程技术网

Jsf 2 特立尼达岛的小脸蛋会导致堆积物溢出 我正处于学习特立尼达的java EE的过程中,但遇到了一些问题。特立尼达2.x示例使用JSPX,而他们的旧演示站点使用纯JSFXHTML。当我尝试在XHTML中使用Facelets编写测试页面时,我一直得到java.lang.StackOverflowerError。我不确定这是配置问题还是语法错误

Jsf 2 特立尼达岛的小脸蛋会导致堆积物溢出 我正处于学习特立尼达的java EE的过程中,但遇到了一些问题。特立尼达2.x示例使用JSPX,而他们的旧演示站点使用纯JSFXHTML。当我尝试在XHTML中使用Facelets编写测试页面时,我一直得到java.lang.StackOverflowerError。我不确定这是配置问题还是语法错误,jsf-2,glassfish-3,facelets,trinidad,Jsf 2,Glassfish 3,Facelets,Trinidad,我使用的是GlassFishV3、MySQL5.6、JSF2.1ApacheMyFace和ApacheTrinidad2.0。我遵循本指南的大部分内容: 堆栈跟踪我忽略了日志的其余部分,因为它太长了 java.lang.StackOverflowError at java.net.URLStreamHandler.equals(URLStreamHandler.java:331) at java.net.URL.equals(URL.java:862) at java.u

我使用的是GlassFishV3、MySQL5.6、JSF2.1ApacheMyFace和ApacheTrinidad2.0。我遵循本指南的大部分内容:

堆栈跟踪我忽略了日志的其余部分,因为它太长了

java.lang.StackOverflowError
    at java.net.URLStreamHandler.equals(URLStreamHandler.java:331)
    at java.net.URL.equals(URL.java:862)
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:995)
    at com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:95)
web.xml

index.xhtml

index.jspx当我将javax.faces.FACELETS\u VIEW\u映射配置为*.jspx,并省略web.xml中特立尼达FACELETS的特定配置时,这会起作用

<?xml version="1.0" encoding="iso-8859-1"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
          xmlns:f="http://java.sun.com/jsf/core" 
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:trh="http://myfaces.apache.org/trinidad/html"
          xmlns:tr="http://myfaces.apache.org/trinidad">
    <f:view>
        <tr:document>
            <tr:table value="#{userTable.userList}" var="row">
                <tr:column>
                    <f:facet name="header">
                        <tr:outputText value="User Name" />
                    </f:facet>
                    <tr:outputText value="#{row.username}" />
                </tr:column>
                <tr:column>
                    <f:facet name="header">
                        <tr:outputText value="Password" />
                    </f:facet>
                    <tr:outputText value="#{row.password}" />
                </tr:column>
            </tr:table>
        </tr:document>
    </f:view>
</jsp:root>

问题已经解决,我相信ui:composition template=是StackOverflower错误的原因。一旦我删除了template=bit,它就工作了。此外,我在Apache Trinidad的邮件归档中遇到了以下关于为Trinidad 2.0和Facelet配置web.xml的内容:

Trinidad 2.0中的备用\u视图\u处理程序不需要有条目

您得到的错误是因为特立尼达尚未与兼容 JSF2.0中的部分状态保存。 由于使用Facelet时默认启用部分状态保存, 您需要显式禁用它。 在web.xml中添加以下上下文参数:


当您在Faceletes中使用模板的相对路径时,Trinidad似乎会导致StackOverflowerError。在您的例子中,从ui:component中删除无关的template=属性修复了这个问题。在我的例子中,我实际上是在视图中使用模板,因此无法删除该属性。相反,我能够通过使用模板视图的绝对路径来解决这个问题

例如,使用以下视图结构:

/views/template.xhtml
/view/index.xhtml
在index.xhtml中,提供template.xhtml的相对路径会导致StackOverflower错误:


当您将FacesServlet映射到*.jsf,并从心理上调用文件myFile.jsf而不是myFile.xhtml…FacesServlet在URL模式中有*.jsf,但我将其删除,并将文件重命名为.xhtml而不是.jsf时,可能会发生此异常。
<?xml version="1.0" encoding="iso-8859-1"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
          xmlns:f="http://java.sun.com/jsf/core" 
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:trh="http://myfaces.apache.org/trinidad/html"
          xmlns:tr="http://myfaces.apache.org/trinidad">
    <f:view>
        <tr:document>
            <tr:table value="#{userTable.userList}" var="row">
                <tr:column>
                    <f:facet name="header">
                        <tr:outputText value="User Name" />
                    </f:facet>
                    <tr:outputText value="#{row.username}" />
                </tr:column>
                <tr:column>
                    <f:facet name="header">
                        <tr:outputText value="Password" />
                    </f:facet>
                    <tr:outputText value="#{row.password}" />
                </tr:column>
            </tr:table>
        </tr:document>
    </f:view>
</jsp:root>
<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
</context-param>
/views/template.xhtml
/view/index.xhtml
<f:view
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets">
    <ui:include src="template.xhtml" />
</f:view>
<f:view
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets">
    <ui:include src="/views/template.xhtml" />
</f:view>