6

How can I include CSS stylesheets relative to context path in JSF 1.1?

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

Like we use in JSF2.

<link href="#{resource['css:styles.css']}" rel="stylesheet" type="text/css"/>
Community
  • 1
  • 1
Tarun Nagpal
  • 964
  • 1
  • 9
  • 25

2 Answers2

11

Depends on the view technology being used:

If JSP(X), use ${pageContext.request.contextPath}:

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

If Facelets 1.x, use #{facesContext.externalContext.requestContextPath}:

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

If Facelets 2.x, use #{request.contextPath}:

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

Note that there's no support for #{resource} nor <h:outputStylesheet> in JSF 1.x.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
  • #{request.contextPath} returns nothing. – Tarun Nagpal Aug 23 '11 at 14:31
  • Are you using Facelets or JSPX? When you said XHTML I assumed it to be Facelets. In JSP(X) you should use `${pageContext.request.contextPath}` instead. I edited the answer. – BalusC Aug 23 '11 at 14:32
  • 1
    Tnx for your response. I am using facelet. I have resolved the issue by using #{facesContext.externalContext.requestContextPath}. – Tarun Nagpal Aug 24 '11 at 09:41
  • Hi @BalusC, I'm using Facelets 2.3. `#{facesContext.externalContext.requestContextPath}` works. But `#{request.contextPath}` does not; it returns empty string. Do you know why? – Arash Jun 21 '22 at 18:14
0

I'm using JSF 2.2 with mojarra 2.2.

#{facesContext.externalContext.requestContextPath}

solves the problem for me; I was using a facelet (.xhtml).

Samuel L
  • 139
  • 3
  • 5