CSS在JBoss(OpenShift)上正确应用,但在Tomcat7上没有



我有一个页面,我在本地Tomcat7实例和远程JBoss实例(OpenShift)上加载它。css应用于JBoss,但不应用于Tomcat7:

Html页面标题:

<head>
    <title><decorator:title /></title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
    <link rel="stylesheet" type="text/css" href="/static/css/reset.css" media="screen" />   
    <link rel="stylesheet" type="text/css" href="/static/css/960gs-16col.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="/static/css/default.css" media="screen" />
</head>

默认.css

body {
  background-color: #c73b0b;
}

CCD_ 1和CCD_。我向FireBug核实了一下,没有任何错误报告。我检查了两个系统上的页面源代码,完全相同。

是什么原因导致了这个问题?

正如我们与@JVerstry:一起解决的那样

Tomcat加载CSS文件的方式似乎与JBoss不同。

CCD_ 3是一条绝对路径。如果reset.css是应用程序的一部分,则应将其引用为static/css/reset.css(不带前导斜杠)

您应该始终在类似以下的Web应用程序中构建URL:

<link rel="shortcut icon" href="<%= request.encodeURL(request.getContextPath() + "/images/favicon.ico") %>" type="image/x-icon"/>

当你改变上下文路径时,这将使你的网络应用程序可以简单地重新定位,并解决上面提出的问题。

请注意,大多数URL处理标记库(如JSTL、Struts等)都将为您执行上述工作。使用其中一个通常比在JSP代码中到处都有那个丑陋的scriptlet要好。

相关内容

最新更新