1

複数の組織で使用する Web アプリケーションを作成しています。これには、どの顧客が自分のページを使用しているかに応じてカスタム スタイルが必要です (ページはさまざまな企業の「ブランド」になっています)。

基本的に、原色、背景色、会社のロゴ画像などの情報を保存するデータベースがありますが、これらはすべて私のサイトを使用しているユーザーによって異なります。

誰かが私のサイトに来ると、スタイリング情報を調べて、「ブランド」という名前のパラメーターとしてセッション スコープに入れます。

次のようなことを行う brandCss.jsp という jsp があります。

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

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

次に、<head>私のページのタグで、CSS ファイルであるかのようにJSP にリンクします。

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

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

これは IE でうまく機能します。誰かが私のページにアクセスすると、私のサーバー コードがオフになり、表示する必要があるブランディング (スタイリング) 情報を見つけて、それを私の JSP にスプラットし、それが css ファイルとして扱われます。

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

これがなぜなのか、または Firefox が私の JSP を CSS のように扱うようにする方法を知っている人はいますか?

4

1 に答える 1

1

ページでContent-Typeがに設定されていることを確認してくださいtext/css。ページが正しいContent-Typeで提供されていない場合、Firefoxはそれを無視するのではないかと思います。これは、 Firebugなどの助けを借りて簡単に確認できます(要求されたファイルについては、[ネット]タブを参照してください)。

Content-TypeSpringで、またはJava Webアプリからどのように設定するかは正確にはわかりませんが、最初に確認するのはそれです。

于 2010-11-23T16:56:51.113 に答える