Как включить CSS относительно пути к контексту в JSF 1.x?

Как включить CSS-таблицы стилей относительно пути к контексту в JSF 1.1?

<link href="{CONTEXT}/css/style.css" rel="stylesheet" type="text/css"/>

Как мы используем JSF2.

<link href="#{resource['css:styles.css']}" rel="stylesheet" type="text/css"/>

Ответ 1

В зависимости от используемой технологии просмотра:

Если JSP (X), используйте ${pageContext.request.contextPath}:

<link href="${pageContext.request.contextPath}/css/style.css" rel="stylesheet" type="text/css"/>

Если Facelets 1.x, используйте #{facesContext.externalContext.requestContextPath}:

<link href="#{facesContext.externalContext.requestContextPath}/css/style.css" rel="stylesheet" type="text/css"/>

Если Facelets 2.x, используйте #{request.contextPath}:

<link href="#{request.contextPath}/css/style.css" rel="stylesheet" type="text/css"/>

Обратите внимание, что в JSF 1.x нет поддержки #{resource} и <h:outputStylesheet>.

Ответ 2

Я использую JSF 2.2 с mojarra 2.2.

#{facesContext.externalContext.requestContextPath}

решает проблему для меня; Я использовал facelet (.xhtml).