0

ローカル Tomcat 7 インスタンスとリモート JBoss インスタンス (OpenShift) の両方にロードするページがあります。css は JBoss に適用されますが、Tomcat 7 には適用されません。

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;
}

rest.cssTomcat 7にdefault.cssは適用されません。FireBug で確認しましたが、バグは報告されていません。両方のシステムでページのソース コードを確認しましたが、まったく同じでした。

この問題の原因は何ですか?

4

2 に答える 2

1

常に次のようなWebアプリでURLを作成する必要があります。

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

これにより、コンテキストパスを変更したときに、Webアプリを簡単に再配置できるようになり、上記で提起したような問題が解決されます。

JSTL、StrutsなどのほとんどのURL処理タグライブラリは、すべて上記の作業を実行することに注意してください。通常、JSPコードのいたるところにその醜いスクリプトレットを配置するよりも、それらの1つを使用する方が適切です。

于 2012-08-01T18:57:23.860 に答える
1

@JVerstryと一緒に解決したように:

Tomcat は JBoss と同じ方法で CSS ファイルをロードしていなかったようです。

/static/css/reset.css絶対パスです。アプリケーションの一部である場合は、 (先頭のスラッシュなしで)reset.cssとして参照する必要があります。static/css/reset.css

于 2012-08-01T19:06:27.797 に答える