【问题标题】:for a CSS File --> http status 404 - the requested resource is not available [duplicate]对于CSS文件-> http状态404-请求的资源不可用[重复]
【发布时间】:2014-05-12 12:02:11
【问题描述】:

我的 template.css 文件出现 “http 状态 404 - 请求的资源不可用” 错误。根据我的研究,我认为这是引用的问题。

由于该错误,没有任何样式应用于我的welcome.xhtml。

但是,我检查并重新检查,似乎没有发现任何错误。请帮忙。

这是我的 Welcome.xhtml 页面

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
 xmlns:f="http://xmlns.jcp.org/jsf/core"
   xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head>
    <title>TODO supply a title</title>
    <meta name="viewport" content="width=device-width"/>
    <link  rel="stylesheet" type="text/css" href="../../CSS/templateCSS.css"/>
</h:head>

<h:body>
<!--  Rest of the code -->
</h:body>
</html>

我很确定问题出在 href="../../CSS/templateCSS.css" 这一行。

由于我没有足够的“声誉”,我无法上传照片。

更新 我已将引用更改为:

仍然无法正常工作。文件的层次结构是:

  1. 网页文件夹
    • CSS 文件夹
      • templateCSS.css
    • 网页文件夹
      • 模板文件夹
        • Welcome.xhtml

【问题讨论】:

  • 我认为你的目录太多了href="../CSS/templateCSS.css
  • 试试“/CSS/templateCSS.css”或“../CSS/templateCSS.css”

标签: html css jsf-2


【解决方案1】:

在任何WAR 项目中,Web Pages 文件夹内都有一个resources 文件夹。你应该好好利用它!例如,假设您有以下文件夹树:

-- Web Pages
   -- WEB-INF
   -- resources
      -- css
         -- template.css

您可以使用&lt;h:outputStylesheet&gt;template.css 文件添加到您的模板中:

<h:head>
    <h:outputStylesheet library="css" name="template.css" />
</h:head>

供您参考:

【讨论】:

  • 出于某种原因,我的网页文件夹中没有“资源”文件夹。我不知道原因。
【解决方案2】:

尝试了解引用外部样式表的工作原理。如果 CSS 文件与 html 文件位于同一文件夹中,则链接应如下所示:

<link rel="stylesheet" href="StyleSheetName.css" />

如果 CSS 文件位于与 HTML 文件位于同一文件夹中的文件夹(例如 ABCFolder)中(即 ABCFolder 和 HTML 文件位于同一级别),则链接标记应如下所示:

<link rel="stylesheet" href="ABCFolder/StyleSheetName.css" />

现在,如果 CSS 文件位于文件夹(比如 XYZFolder)中,该文件夹包含在 HTML 文件上一层的文件夹中(即 XYZFolder 和 HTMLContainerFolder 处于同一级别,而 HTMLContainerFolder 包含 HTML 文件),那么链接标签应该是这样的:

<link rel="stylesheet" href="../XYZFolder/StyleSheetName.css" />

为了清楚起见,您始终“相对”指定相对于 HTML 文件的文件夹路径。

您也可以提供样式表的绝对路径,但相对路径更可取。

希望这会有所帮助。

【讨论】:

  • 你说的很有道理! 然而,我已经检查并重新检查了我的引用,我进行了更改,它是:'',我得到同样的错误。文件的层次结构为:--Web Pages
  • 你的回答真的很有帮助。很好的解释! :)
【解决方案3】:

所以你的文件必须是两个文件夹后面../../(来自你的welcome.xhtml),而不是文件夹“CSS”。

../../CSS/templateCSS.css

【讨论】:

    【解决方案4】:

    你试过绝对网址吗?文件是在服务器上还是尝试/CSS/templateCSS.css你试过绝对网址吗?文件是否在服务器上?或者试试 /CSS/templateCSS.css

    【讨论】:

      猜你喜欢
      • 2014-04-07
      • 2013-01-22
      • 2013-06-02
      • 2015-09-17
      • 2015-11-23
      • 2020-04-29
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多