Error Parsing /page.xhtml: Error Traced[line: 42] The entity “nbsp” was referenced, but not declared

后端 未结 5 2131
说谎
说谎 2020-11-29 22:56

I\'d like to use non breaking spaces in my JSF page. I know, in plain HTML I could use   for this and this works fine. However, when I put those

相关标签:
5条回答
  • 2020-11-29 23:14
    1. <![CDATA[&nbsp;]]> should work fine. This does not work inside attribute value, though.

    2. Alternatively, as long as &amp; is a predefined entity in XML, you could try &amp;nbsp; - worked for me with XML based JSP. This should work within attributes as well.

    0 讨论(0)
  • 2020-11-29 23:25

    For me the following doctype enables &nbsp;:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
    0 讨论(0)
  • 2020-11-29 23:32

    Try using &amp;#160;. for more information on entities you can refer following url HTML ISO-8859-1 Reference

    0 讨论(0)
  • 2020-11-29 23:34

    Facelets is a XML based view technology. XML has only five predefined entities. The &nbsp; is not among them. It works only when used in plain HTML or in legacy JSP (note: it doesn't work in JSPX as that's also XML based!).

    To fix this, you either need to declare the entity yourself in the doctype of the very XHTML file containing the &nbsp; entity,

    <!DOCTYPE html [
        <!ENTITY nbsp "&#160;"> 
    ]>
    

    or, better, use the (hexa)decimal notation instead:

    &#xA0; or &#160;
    

    In an average IDE it should be trivial to perform a "find and replace in all files" and replace every occurrence of &nbsp; by &#xA0;.

    0 讨论(0)
  • 2020-11-29 23:37

    add

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

    to the top of the file

    0 讨论(0)
提交回复
热议问题