1

我正在编写一个供多个组织使用的 Web 应用程序,该应用程序需要自定义样式,具体取决于哪个客户正在使用我的页面(该页面是针对不同公司的“品牌”)。

基本上,我有一个数据库,其中存储了一些信息,例如原色、背景颜色和公司徽标图像,所有这些都因使用我的网站的人而异。

当有人访问我的网站时,我会查找他们的样式信息并将其作为名为“品牌”的参数放入会话范围内

我有一个名为 brandCss.jsp 的 jsp,它执行以下操作:

#logo
{
   background-image: url( '${brand.logoImage}' );
}

body
{
   color: ${brand.primaryColor};
}

等等

然后在<head>我页面的标签中,我链接到我的 JSP ,就好像它是一个 css 文件一样

<link type="text/css" href="/brandCss" rel="stylesheet"/>

使用 spring 框架,我将对 /brandCss 的请求映射到我的 brandCss.jsp 视图,以便该请求将我的 JSP 作为视图返回。

这在 IE 中效果很好——有人点击我的页面,我的服务器代码关闭并找到他们需要查看的品牌(样式)信息,然后将其放入我的 JSP 中,然后将其视为 css 文件。

但是,在 Firefox/Chrome 中,没有使用我的 brandCss.jsp 样式表——我的页面正确地下拉了 jsp,它获得的信息与 IE 完全相同,但由于某种原因,浏览器选择忽略其中的样式。

任何人都知道为什么会这样或如何让 Firefox 像对待 css 一样对待我的 JSP?

4

1 回答 1

1

确保您的页面将 Content-Type 设置为text/css. 如果页面没有使用正确的 Content-Type 提供,我怀疑 Firefox 会忽略它。这很容易在Firebug之类的帮助下进行检查(请参阅“网络”选项卡以获取所请求的文件)。

我不确定您将如何Content-Type在 Spring 或 Java Web 应用程序中进行设置,但这是我首先要检查的。

于 2010-11-23T16:56:51.113 回答