[jsf] /page.xhtml 구문 분석 오류 : 오류 추적 됨 [line : 42] 엔티티 “nbsp”가 참조되었지만 선언되지 않았습니다.

내 JSF 페이지에서 중단되지 않는 공백을 사용하고 싶습니다. 나는 일반 HTML  에서 이것을 사용할 수 있고 이것은 잘 작동한다는 것을 알고 있습니다. 그러나  Facelets 페이지에 넣으면 다음과 같은 오류가 발생합니다.

/page.xhtml 구문 분석 오류 : 오류 추적 [line : 42] 엔티티 “nbsp”가 참조되었지만 선언되지 않았습니다.

이 문제는 어떻게 발생하며 어떻게 해결할 수 있습니까?



답변

Facelets는 XML 기반보기 기술입니다. XML에는 5 개의 미리 정의 된 엔터티 만 있습니다. 은  그들 가운데 없습니다. 일반 HTML 또는 레거시 JSP에서 사용할 때만 작동합니다 (참고 : XML 기반이기 때문에 JSPX에서는 작동하지 않습니다!).

이 문제를 해결하려면 엔티티를 포함하는 바로 XHTML 파일의 doctype에서 엔티티를 직접 선언해야합니다  .

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

또는 더 나은 방법은 (16 진수) 표기법을 대신 사용하는 것입니다.

&#xA0; or &#160;

평균 IDE에서 “발견을 모든 파일에서 대체”수행의 모든 발생을 대체하는 사소한해야한다 &nbsp;에 의해를 &#xA0;.


답변

을 사용해보십시오 &amp;#160;. 엔티티에 대한 자세한 내용은 다음 URL을 참조하십시오. HTML ISO-8859-1 참조


답변

  1. <![CDATA[&nbsp;]]>잘 작동합니다. 그러나 이것은 속성 값 내에서 작동 하지 않습니다 .

  2. 또는 &amp;XML에서 미리 정의 된 엔티티 인 한 시도해 볼 수 &amp;nbsp; 있습니다. XML 기반 JSP로 저를 위해 일했습니다. 이것은 속성 내에서도 작동합니다.


답변

나를 위해 다음 doctype은 다음을 활성화합니다 &nbsp;.

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


답변

더하다

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

파일 맨 위로


답변