1

我在我的页面中包含了 header.html(不是 .xhtml),但是当我预览我的页面时,它给了我错误“XML Parsing Error: no element found”。我知道这是标签没有正确关闭的问题,但是由于我的标题页是 html 文件,而不是 xhtml 文件,它不应该关闭标签,对吗?
如果我确实关闭了 header.html 中的所有元标记,我的页面工作正常,但我想知道如果我将它们包含在 jsf2 中,是否必须正确关闭 html 文件中的所有标记,谢谢。

header.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Header</title>
    <meta name="description" content="">
  </head>
  <body>header content</body>
</html>

欢迎1.xhtml

<ui:include src="header.html" />
<p>welcome page</p>
4

2 回答 2

0

如果您仔细观察,您会<html>在 header.html 中看到结束标记,它应该结束 HTML 文档,正如您在HTML 文档的结构中看到的那样。这样,当您在最终视图中包含文件时,您就违反了该合同。

在 JSF 中,最好使用 facelets 的模板选项。例如,在主模板中,您可以创建插入点,如脚本部分,然后在模板客户端页面(最终视图)中定义插入的内容。可以在 mkyong 的本教程中找到启动示例。

于 2013-04-05T06:20:41.843 回答
0

Oracle 的文档中,<ui:include>习惯于encapsulate and reuse content among multiple XHTML pages. 该src属性应指向格式良好的 XML 文档。即使您想包含.html页面,您也需要确保所有标签都正确关闭。

于 2013-04-05T09:50:25.887 回答