My JSF template.xhtml
文件看起来像:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:jsf="http://xmlns.jcp.org/jsf">
<h:head>
...
</h:head>
<h:body>
<header jsf:id="head">
...
</header>
<nav jsf:id="nav">
...
</nav>
<main jsf:id="main">
...
</main>
<footer jsf:id="foot">
...
</footer>
</h:body>
</html>
Eclipse 抱怨
未知标签(主要)。
我想知道我的文件是否存在某种格式错误,或者 Eclipse 无法正确验证该文件。
这不是 JSF 问题。删除直通元素触发器时,您仍然会遇到完全相同的问题jsf:id
。如果不在 XHTML 文件中的任何位置使用 JSF 标记/属性,您甚至仍然会遇到完全相同的问题。
The <main>
标签在 HTML5 中相对较新(仅在2013 年 8 月的 HTML5 CR http://www.w3.org/TR/2013/CR-html5-20130806/)。当前 XHTML 文档中的其他 HTML5 标记已经存在更长时间(早在 2008 年)。 Eclipse 根本无法识别<main>
作为在默认 XML 命名空间中注册的标记,由http://www.w3.org/1999/xhtml
。 Eclipse 拥有已注册标签的内部列表。如果升级到最新的 Eclipse (SR) 版本不能解决问题,那么最好的办法就是将此问题报告给 Eclipse 人员。同时,只需选择快速修复选项“忽略 HTML5 验证中的‘main’元素”.
无关对于具体的问题,XML 序言不属于那里。摆脱它。此外,我还想知道“header”、“nav”、“main”和“footer”作为整个 JSF 组件的必要性。我在现实世界中并没有真正看到任何有用的设备。您很可能只需将它们保留为纯 HTML 即可。这可以节省您不必要的开销。
也可以看看:
- XML 序言/指令未从 XHTML 输出中删除 https://stackoverflow.com/questions/10698726/xml-prolog-instruction-not-removed-from-xhtml-output
- JavaServer Faces 2.2 和 HTML5 支持,为什么仍然使用 XHTML https://stackoverflow.com/questions/19189372/javaserver-faces-2-2-and-html5-support-why-is-xhtml-still-being-used
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)