JSPにて表示するウェブページのスタイルシートを別途プリント用のスタイルシートを用意して適用させてみようとテストしたところ,表示されないという現象があった。下記のような感じで記述をしてみたのだが,どうやっても表示されなかった。
<link rel="STYLESHEET" type="text/css" media="screen" href="./css/style.css" title="標準" /> <link rel="STYLESHEET" type="text/css" media="print" href="./css/print.css" title="プリント" />
パスは間違ってはいない。記述の方法も間違ってはいない。一般的な静的ページで印刷プレビューをしてみたらこれで意図通り表示される。しかし,JSPに限っては表示されなかった。
原因はわからないが,とりあえず次のような方法で解決をすることにした。
- メディアタイプをallにして一つのスタイルシートのみを適用する
- その適用したスタイルシート内でメディアタイプを振り分ける
これならばJSPでも意図通り表示することができた。具体的には下記のような感じ
- ヘッダの記述
-
<link rel="STYLESHEET" type="text/css" media="all" href="./css/style.css" title="標準" />
- style.cssの記述
-
@media screen,tv,projection { ----stylesheetの記述---- } @media print{ ----stylesheetの記述---- }