2010-11-23 11 views
1

私は自分のページを使用している顧客に応じてカスタムスタイルを必要とする複数の組織で使用するWebアプリケーションを作成しています(このページは企業ごとにブランド化されています)。jspをfirefox、chromeで処理するときの問題

基本的には、自分のサイトを使用している人によって異なる原色、背景色、会社ロゴイメージなどの情報が格納されたデータベースがあります。

誰かが自分のサイトに来る

、私は彼らのスタイル情報を検索し、「ブランド」

という名前のパラメータとして、セッションスコープに入れて、私は、次のような事柄んbrandCss.jspと呼ばれるJSPがあります

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

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

など

それはcssファイルであるかのようにその後、私のページの<head>タグに、私は私のJSP にリンクされています

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

春のフレームワークを使用して、私はbrandCss.jspビューに/ brandCssのリクエストをマップして、このリクエストがJSPをビューとして返すようにします。

これはIEでうまくいきます。誰かが私のページにアクセスし、サーバーコードが消えて見たいブランディング(スタイリング)情報が見つかったら、それをJSPにスプライトしてCSSファイルとして扱います。

しかし、Firefox/Chromeでは、私のbrandCss.jspスタイルシートは使用されません。ページが正しくJSPをプルダウンしていて、IEとまったく同じ情報を取得しますが、何らかの理由でブラウザがそれでスタイリング。

誰かが、なぜ、これをどうやってFirefoxをCSSのように扱うのか考えているのですか?

答えて

1

ページでコンテンツタイプをtext/cssに設定していることを確認してください。ページが正しいContent-Typeで提供されていない場合は、Firefoxがそれを無視すると思われます。これはFirebugのようなものの助けを借りてチェックするのが簡単です(要求されたファイルについてはネットのタブを見てください)。

Spring、またはJava WebアプリケーションからContent-Typeを設定する方法については、私は確信していませんが、これが最初にチェックするものです。

+0

私が必要としたのは、私のJSPの最上部に<%@ page contentType = "text/css"%>を置き、firefox/chromeはそれをすぐにそのように認識しました。 ありがとうございました! – brettjonesdev

関連する問題