gpt4 book ai didi

jsf - javax.faces.view.facelets.FaceletException : Error Parsing/template. xhtml : The entity "nbsp" was referenced, 但未声明

转载 作者:行者123 更新时间:2023-12-03 01:59:18 26 4
gpt4 key购买 nike

在我的 Facelets 模板中,我使用了 XHTML 文档类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

我想将其更改为 HTML5 doctype根据一般建议:

<!DOCTYPE html>

但是,JSF 抛出了解析错误:

javax.faces.view.facelets.FaceletException: Error Parsing /template.xhtml: Error Traced[line: 42] The entity "nbsp" was referenced, but not declared.

HTML   实体不会被解析。该实体的使用方式如下:

<p:menuitem value="&nbsp;My menuitem">

这是怎么造成的,如何解决?

最佳答案

HTML5 文档类型没有预定义实体。它假定整个文档已经支持 UTF-8。换句话说,您可以“安全”地将真正的不间断空格字符放入 HTML5 文档中。然而,由于使用常规美国键盘以可见的方式输入它并不简单,因此许多开发人员更喜欢使用实体来输入它是可以理解的。

Facelets 仅支持作为基于 XML 的 View 技术 five predefined XML entities <>&"'  不在其中。

您有 2 个选项(除了直接在文档中打印字符的第三个选项之外):

  1. 在文档类型中自行声明   实体:

    <!DOCTYPE html [
    <!ENTITY nbsp "&#xA0;">
    ]>
  2. 或者,使用(十六进制)十进制表示法:

    &#xA0; or &#160;

关于jsf - javax.faces.view.facelets.FaceletException : Error Parsing/template. xhtml : The entity "nbsp" was referenced, 但未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21754475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com