ハマっている「お菓子」を教えて!

htmlタグライブラリのframeで指定したJSPからスタイルシート(*.jsも)の参照ができません。
色々試したのですが、解決方法を教えて下さい。。。
環境はWin2000、Tomcat5、Struts2です。

↓フレーム呼び出し
<frameset rows="50%,*">
<html:frame page="A.jsp"/>
<html:frame page="B.jsp"/>
</frameset>
※ディレクトリ:/apname/jsp/X.jsp

↓フレーム内(A.jsp)
<link rel="stylesheet" href="./C.css" type="text/css"/>
※ディレクトリ:/apname/css/C.jsp

ちなみに「href="../css/C.css"」としてもダメなんです。
参照先ディレクトリは色々試したけど使えません。

よろしくお願いします。

A 回答 (2件)

No.1 の方が回答してくれているが別の回答を。



Struts を使用しているのならば、CSS などへのリンクは html:rewrite で書いた方がやりやすいと思う。
今回の構成では以下のように書きます。

<link rel="stylesheet" href="<html:rewrite page="css/C.css"/>" type="text/css"/>

このように書くと、クライアントでは以下のようなサーバ相対になっています。

<link rel="stylesheet" href="/apname/css/C.css" type="text/css"/>

JSP のタグ解析は HTML のタグとは別に行われるので、上記のように HTML の属性の中に JSP タグを書いても正常に処理されます。

CSS などは、JSP と別フォルダに入れることが多いために相対パスで書いていると JSP ファイルを移動したくなったときに面倒になります。
また、Struts の場合、JSP がおいてある場所と実際の URL の位置関係がアクションの実装の仕方などによっては一致しなくなりますので、「JSP ファイルから見ての相対パス」では正常に解決できなくなることがあります。
このため、サーバ相対に書き直してくれる html:rewrite を使用した方が無難だと思います。

参考URL:http://tag.main.jp/htmlrewrite.html
    • good
    • 0
この回答へのお礼

ありがとうございました!解決しました!

お礼日時:2008/06/16 20:42

ディレクトリ構成を見た限りは、href="../../css/C.css"と思うが。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報