Mat*_*sen 12 xml facelets jsf-2
我开始学习JavaServer Faces(JSF).我正在使用GlassFish 3+.我刚刚在NetBeans中创建了一个新的JSF项目并运行该项目.它工作正常,但在检查XHTML输出时,我注意到XML声明留在了.这弄乱了DOCTYPE声明(它总是应该是文档中的第一个).

JSF应该删除XML声明,还是我做错了什么?
Bal*_*usC 11
默认情况下,Facelets仅从合成(包含文件和复合组件)和标记文件中删除它.它不会从主模板中删除它.只需自己删除它.在编写HTML时,您根本不应该使用XML prolog.
是否将从主模板中删除XML序言在JSF 2.2规范的附录1.1.1.1中规定,该规范描述了<facelets-processing>元素的配置faces-config.xml.XML prolog被描述为"处理指令".在表中,您将看到仅在将模板作为XML或JSPX视图处理时才删除(使用)它.
1.1.1.1
facelets-processing要素该
<facelets-processing>元素用于影响Facelets VDL文件的处理.因此,此设置仅适用于那些到达FaceletsViewDeclarationLanguage实现的请求,如通过javax.faces.FACELETS_VIEW_MAPPINGS和javax.faces.DEFAULT_SUFFIX<context-param>条目指定给运行时.该规范为Facelets文件定义了三种处理模式:Facelets XHTML语法,XML View语法和Facelets JSPX语法.最后一种语法旨在简化已使用JSP文档语法(也称为JSPX语法)的应用程序向Facelets的迁移.下表中指定了对这三种模式中每种模式的文件处理的影响.Run Code Online (Sandbox Code Playgroud)Valid <process-as> values and their implications on the processing of Facelets. ----------------------------------------------------------------------------------------- <process-as> <process-as> <process-as> <process-as> html5</process-as> xhtml</process-as> xml</process-as> jspx</process-as> HTML 5 (default) Facelets XHTML XML View Facelets JSPX ----------------------------------------------------------------------------------------- XML Doctype Simplified to passed through consumed consumed <!DOCTYPE html> XML passed through passed through consumed consumed declaration Processing passed through passed through consumed consumed instructions CDATA passed through passed through consumed consumed section Escaping of escaped escaped escaped not escaped inline text XML passed through passed through consumed consumed Comments在上表中,"传递"表示内容通过未修改传递给用户代理."consume"表示内容在服务器上以静默方式使用.请注意,对于CDATA部分,即使应该使用开始和结束标记,CDATA部分本身的内容也会通过."转义"意味着响应中的敏感内容会自动转义:例如,
&变为"转义"&."未转义"表示此类内容未被转义.
换句话说,当您创作HTML5/XHTML时,您必须自己删除它.实际上更好的措辞是:你不应该在HTML5和XHTML页面中包含XML prolog,因为这不是必需的; 它只在XML和JSPX页面中需要(因此Facelets会自动删除它).
与具体问题无关,您应该使用<h:outputStylesheet>而不是<link rel="stylesheet">独立于请求URL.
<h:outputStylesheet name="css/default.css" />
<h:outputStylesheet name="css/cssLayout.css" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1788 次 |
| 最近记录: |