【问题标题】:How to include CSS relative to context path in JSF 1.x?如何在 JSF 1.x 中包含相对于上下文路径的 CSS?
【发布时间】:2011-11-02 00:24:54
【问题描述】:

如何在 JSF 1.1 中包含相对于上下文路径的 CSS 样式表?

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

就像我们在 JSF2 中使用的一样。

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

【问题讨论】:

    标签: jsf


    【解决方案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}&lt;h:outputStylesheet&gt;

    【讨论】:

    • #{request.contextPath} 不返回任何内容。
    • 您使用的是 Facelets 还是 JSPX?当您说 XHTML 时,我认为它是 Facelets。在 JSP(X) 中,您应该改用 ${pageContext.request.contextPath}。我编辑了答案。
    • Tnx 等待您的回复。我正在使用facelet。我已经通过使用 #{facesContext.externalContext.requestContextPath} 解决了这个问题。
    【解决方案2】:

    我正在使用 JSF 2.2 和 mojarra 2.2。

    #{facesContext.externalContext.requestContextPath}

    为我解决了问题;我使用的是 facelet (.xhtml)。

    【讨论】:

      猜你喜欢
      • 2019-04-21
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 2023-03-20
      • 2016-07-22
      • 1970-01-01
      • 2017-11-07
      相关资源
      最近更新 更多