Je voudrais utiliser des espaces insécables dans ma page JSF. Je sais, en HTML simple, je pourrais utiliser
pour cela et cela fonctionne très bien. Cependant, quand je mets ces
dans une page Facelets, les erreurs suivantes sont commises:
Erreur d'analyse /page.xhtml: Erreur tracée [ligne: 42] L'entité "nbsp" a été référencée, mais pas déclarée.
Comment cela est-il causé et comment puis-je le résoudre?
jsf
jsf-2
facelets
html-entities
Fahim Parkar
la source
la source
exactement?Réponses:
Facelets est une technologie de visualisation basée sur XML. XML n'a que cinq entités prédéfinies . Le
n'est pas parmi eux. Cela ne fonctionne que lorsqu'il est utilisé en HTML brut ou dans l'ancien JSP (note: cela ne fonctionne pas dans JSPX car il est également basé sur XML!).Pour résoudre ce problème, vous devez soit déclarer vous-même l'entité dans le doctype du fichier XHTML même contenant l'
entité,ou, mieux, utilisez la notation décimale (hexa) à la place:
Dans un IDE moyen, il devrait être simple d'effectuer une recherche et de remplacer dans tous les fichiers et de remplacer chaque occurrence de
par 
.la source
Essayez d'utiliser
 
. pour plus d'informations sur les entités, vous pouvez vous référer à l'url HTML ISO-8859-1 Referencela source
<![CDATA[ ]]>
devrait bien fonctionner. Cela ne fonctionne pas à l' intérieur de la valeur d'attribut, cependant.Sinon, tant qu'il
&
s'agit d'une entité prédéfinie en XML, vous pouvez essayer&nbsp;
- travaillé pour moi avec JSP basé sur XML. Cela devrait également fonctionner avec les attributs.la source
Pour moi, le doctype suivant permet
:la source
ajouter
en haut du fichier
la source