Je pense que le problème de Sergionni est double. Tout d'abord, il est vrai que le soi-disant parent racine est, comme BalusC dit, en fait domaine relatif, donc, dans l'exemple est relatif à http://example.com/
et non http://example.com/context/
.
Donc, vous devez spécifier
<link rel="stylesheet" type="text/css" href="${request.contextPath}/styles/decoration.css" />
BTW BalusC, félicitations, c'est la première fois que je vois cela explique correctement! J'ai eu beaucoup de mal à le découvrir.
Mais, si vous voulez simplifier et de proposer:
<link rel="stylesheet" type="text/css" href="styles/decoration.css" />
en supposant que le style dir est un sibbling de votre page en cours, alors vous pouvez avoir le deuxième problème:
Vous êtes alors en la méthode de l'URL relative et, je vous êtes venu à cette page par un avant et non une redirection, votre navigateur peut être dupe et ne pas être en mesure de suivre le chemin relatif.
Pour résoudre ce deuxième problème, vous devez ajouter ceci:
<head>
<base href="http://${request.serverName}:${request.serverPort}${request.contextPath}${request.servletPath}" />
L'élément de base doit précéder tout lien.
Par la commande de base, vous dites à votre navigateur où vous êtes réellement.
Espérons que ça aide.
Et BTW Une autre chose bizarre dans ce monde wondeful JSF:
pour lien d'une page à son modèle Facelet, la racine lien relatif est, cette fois-ci, y compris selon le contexte:
<ui:composition template="/layouts/layout.xhtml">
ce lien vraiment http://example.com/context/layouts/layout.xhtml
et non à http://example.com/layouts/layout.xhtml
comme pour <a>
ou <link>
.
Jean-Marie Galliot
oui, cela a fonctionné pour moi - sans toute première barre – sergionni