最近,我添加了不同的范围代码,以便更好地执行jsf livecycle。 在acess jsf页面的运行时出错。发生了什么事?
Web.xml文件:
<context-param>
<param-name>org.apache.myfaces.ADD_RESOURCE_CLASS</param-name>
<param-value>org.apache.myfaces.component.html.util.StreamingAddResource</param-value>
</context-param>
jsf(xhtml)文件:
<?xml version='1.0' encoding='UTF-8' ?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich"
xmlns:p="http://primefaces.org/ui" xmlns:tjfw="http://tjfw.tjba.jus.br/tjfw/jsf/components/ui"
xmlns:c="http://java.sun.com/jsp/jstl/core"
template="/WEB-INF/templates/main.xhtml">
<ui:define name="contents"
<f:view>
<t:document>
<t:documentHead>
...
<title>example</title>
...
</t:documentHead>
<t:documentBody>
...
</t:documentBody>
</t:document>
</f:view>
</ui:define>
</ui:composition>
控制台错误:
09:40:39,476 FATAL [org.jboss.seam.faces.view.SeamViewMetadata] Error Parsing /resources/pages/objectPearson/pearson.xhtml: Error Traced[line: 188] The prefix "t" for element "t:document" is not bound.
答案 0 :(得分:4)
根据@Jesper
您正在尝试访问一个您没有声明在哪里找到它的库。
这&#39;是一个你没有做过的命名空间。
实施例:
在这里你可以使用<f:view>
这个&#39; f&#39;是此URL的命名空间:
xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
因此,您使用未定义的命名空间,请查看此命名空间的URL&#39; t&#39;
试试这个:
xmlns:t="http://myfaces.apache.org/tomahawk"
答案 1 :(得分:0)
我认为如果您不包含库和指定的前缀(xmlns:t),则无法使用它。