- PR -

jspからjspのインクルードでスタイルシートを引き継がない

1
投稿者投稿内容
ますう
会議室デビュー日: 2003/09/01
投稿数: 12
お住まい・勤務地: 兵庫県
投稿日時: 2004-03-22 10:22
 いつも参考にさせていただいております。

 あるjsp上からもう一つのjspをインクルードした際に最初のjsp上からリンクさせている
スタイルシートを引き継いでくれません。
 [main.jsp]上では問題なく参照されており、試しに、インクルードしたファイル[xxx.jsp]を
直接[main.jsp]に張り付けた所、スタイルシートは正常に反映します。

 下記に関連したコードを添付しました。
どなたか詳しい方ご教授お願いできませんでしょうか?
宜しくお願いいたします

環境は
RedhatLinux 7.2
jre1.22 + jsp1.1
Was 3.5 fix 7
です。


*[main.jsp]

<%@ page language="java" contentType="text/html;charset=shift_jis" %>
<%@ page import= "java.sql.* "%>

<%
String xxx[] = (String[])request.getAttribute("xxx");
%>

<html>
<head><title>マスター</title>
<link rel="stylesheet" href="./style.css" type="text/css">
</head>
<body>
<table border='0' width='400'>
<tr>
<td width='200' class='head'>マスター保守</td>
<td width='100'> </td>
<td width='100'> </td>
</tr>
<tr>
<%@ include file="xxxx.jsp" %> <%-----static-----%>
</tr>
</table>
</body>
<html>



*[xxxx.jsp]

<table border='1' cellspacing='0' cellpadding='0' align='center' width='100%'>
<tr>
<td class='bgc'>年月日</td>
<td><%= xxx[0] %>
<input type='hidden' name='W_xx0' value='<%= xxx[0] %>'>
</td>
<td> </td>
</tr>
<tr>
<td class='bgc'>日数</td>
<td align='right'><%= xxx[1] %>
<input type='hidden' name='W_xx1' value='<%= xxx[1] %>'>
</td>
<td align='center'> </td>
</tr>
</table>

*[style.css]

<style type='text/css'>
<!--
.head { font-size: 14pt; font-weight:bold; font-family:'MS Pゴシック'; background-color:#FFFFCC; }
.bgc { background-color:#FFFFCC; }
table { font-size: 11pt; }
-->
</style>
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2004-03-22 10:30
どう考えても JSP と スタイルシートは関係なさそうなんですが、

・main.jsp に直接 xxx.jsp を埋め込んだ「結果のHTML」
・問題の xxx.jsp を include する main.jsp の「結果のHTML」

はまったく同一ですか?
後者のHTMLを表示した場合は、スタイルシートが有効になりますか?
ますう
会議室デビュー日: 2003/09/01
投稿数: 12
お住まい・勤務地: 兵庫県
投稿日時: 2004-03-22 10:41
引用:

ふーばーさんの書き込み (2004-03-22 10:30) より:
どう考えても JSP と スタイルシートは関係なさそうなんですが、

・main.jsp に直接 xxx.jsp を埋め込んだ「結果のHTML」
・問題の xxx.jsp を include する main.jsp の「結果のHTML」

はまったく同一ですか?
後者のHTMLを表示した場合は、スタイルシートが有効になりますか?




早速のお返事有難うございます。
私も関係なさそうだとは思いつつ、原因がそこしか考えられないので
「これなのかなぁ」という感じです。

さて、ご質問いただいた件ですが。構造は全く一緒です。
少なくとも私には、一緒に見えています。

そして、ご指摘いただいたとおり、その(正しく表示されない)htmlを保存して、
もう一度(オフラインで)表示させた場合は、ちゃんと、スタイルシートが適用されています。

因みに、色々試した際に、スタイルシートを呼び出す際、

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

ではなく、

<%@ include file="style.jsp" %>

としたら、([style.jsp]は[style.css]と全く同一)、私の意図した通りに
反映されました。(しかしこれではわかりにくいので。。。。)

以上、稚拙な文章でわかりにくいかと思いますが、宜しくお願いいたします。



ayum
常連さん
会議室デビュー日: 2002/03/28
投稿数: 44
お住まい・勤務地: 東京
投稿日時: 2004-03-22 10:58
スタイルシートを外部リンクにする際って
CSSファイル内で<style type='text/css'>とかって
書く必要なかったように思います。
@includeで表示されるのはそれがmain.jsp内で
静的なHTMLの一部として展開されるからでしょう。
ので、style.cssの余計な部分を削って
以下のようにしてみてはいかがでしょうか。

コード:
.head { font-size: 14pt; font-weight:bold; font-family:'MS Pゴシック'; background-color:#FFFFCC; } 
.bgc { background-color:#FFFFCC; } 
table { font-size: 11pt; } 



もしかしたら見当違いかもわかりませんが・・・。
ますう
会議室デビュー日: 2003/09/01
投稿数: 12
お住まい・勤務地: 兵庫県
投稿日時: 2004-03-22 11:20
引用:

ayumさんの書き込み (2004-03-22 10:58) より:
スタイルシートを外部リンクにする際って
CSSファイル内で<style type='text/css'>とかって
書く必要なかったように思います。
@includeで表示されるのはそれがmain.jsp内で
静的なHTMLの一部として展開されるからでしょう。
ので、style.cssの余計な部分を削って
以下のようにしてみてはいかがでしょうか。

コード:
.head { font-size: 14pt; font-weight:bold; font-family:'MS Pゴシック'; background-color:#FFFFCC; } 
.bgc { background-color:#FFFFCC; } 
table { font-size: 11pt; } 



もしかしたら見当違いかもわかりませんが・・・。



有難うございました。
おっしゃるとおりで、スタイルシート側を変更する事で
正常反映する事ができました。
JSPは関係なかったです

ふーばー様、ayum様、丁寧なご指導有難うございました。
大変感謝しております
1

スキルアップ/キャリアアップ(JOB@IT)