Je ne comprends pas nécessairement ce dont vous avez besoin, mais <ui:include>
ne se limite pas au contenu des facettes, vous pouvez insérer un xhtml valide avec celui-ci, conformément à this link.
Considérez fichier suivant facelets (test.jsp):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<body>
<f:view>
<h:outputText value="Text outside include"/>
<ui:include src="testinclude.html"/>
</f:view>
</body>
</html>
Et suivant le fichier HTML (testinclude.html):
<h2>Text from included page</h2>
Il comprend correctement le contenu HTML dans la page. Cela s'applique également lorsque vous utilisez <ui:include>
dans un modèle de facettes.
Merci d'avoir signalé cela. Après quelques expériences, j'ai trouvé que l'inclusion d'un fragment html comme celui-ci: foo bar génère une erreur: "Contenu n'est pas autorisé en prologue." Et y compris fragment comme ceci: foo bar génère une erreur: « Le balisage dans le document suivant l'élément racine doit être bien formé. » Mais cela fonctionne: foo bar Donc le contenu inclus * doit * être bien formé xml (mais pas nécessairement valide xml). Ai-je raison de supposer que est le seul mécanisme d'insertion dans Facelets? –
Tom
Pour autant que je sache, oui c'est le cas. Peut-être que vous pouvez essayer d'utiliser d'autres mécanismes comme: - , que je ne peux pas dire maintenant si cela fonctionnerait, mais j'en doute. - Il y a aussi , mais la documentation RichFaces semble impliquer qu'elle a le même comportement que - Un "iframe" HTML, mais l'inclusion serait faite par le côté client. - Une balise JSF personnalisée qui rendrait le contenu d'un fichier. –