Я думаю, что проблема Sergionni в два раза.
Во-первых, верно, что так называемый корень-родственник, как и BalusC, фактически является относительным по отношению к домену, поэтому в примере это относительно http://example.com/
, а не http://example.com/context/
.
Таким образом, вы должны указать
<link rel="stylesheet" type="text/css" href="${request.contextPath}/styles/decoration.css" />
BTW BalusC, поздравления, это первый раз, когда я вижу это правильно объяснил! Я много искал, чтобы обнаружить это.
Но, если вы хотите, чтобы упростить и предложить:
<link rel="stylesheet" type="text/css" href="styles/decoration.css" />
при условии, что реж стиля является sibbling вашей текущей страницы, то вы можете иметь вторую проблему:
Вы тогда в относительный метод URL и, я пришел на эту страницу с помощью переадресации, а не перенаправления, ваш браузер может быть обманут и не сможет следовать относительному пути.
Чтобы решить эту вторую проблему, необходимо добавить следующее:
<head>
<base href="http://${request.serverName}:${request.serverPort}${request.contextPath}${request.servletPath}" />
Базовый элемент должен предшествовать любой ссылке.
По базовой команде вы сообщаете своему браузеру, где вы на самом деле.
Надеюсь, это поможет.
И КСТАТИ еще одна причудливая вещь в этом Wondeful Jsf мире:
связать со страницы его facelet шаблон, корень относительная ссылка IS, на этот раз, в том числе и контекст так:
<ui:composition template="/layouts/layout.xhtml">
это ссылки действительно http://example.com/context/layouts/layout.xhtml
и не http://example.com/layouts/layout.xhtml
как для <a>
или <link>
.
Жан-Мари галиот
да, это сработало для меня - без особого слэш – sergionni