Web業務アプリケーションなどを開発していると、CSS・JavaScriptの改修を行うことが多いかと思います。
その時、CSS・JavaScriptのキャッシュが効いていることにより、最新のバージョンが反映されないことがあります。
反映されないことにより、レイアウト崩れなどが発生し、クライアントからお怒りの電話が・・・なんてことも。
そんな時、クライアントにキャッシュを削除してください~ってのは、ちょっと面倒ですよね。
そこで、 JSPを用いた、CSS・JavaScriptを最新バージョンに強制的に反映させる方法のメモをここに記載したいと思います。
前提条件
- Servlet3.0
- JSP1.2
対策概要
CSS・JavaScriptを強制的に反映させる方法は、URLクエリパラメータを各ファイルを読み込むときに指定することにより、別ファイルとして認識させる。そうすることにより、パラメータ部分を変更すれば常に最新の物が反映できるという方法であります。
Google Map・Yahoo地図の拡大・縮小の時のアニメーションなどで使われています。
ここではパラメータ部分をweb.xmlで設定した値をURLクエリパラメータに反映させる方法を記載します。
web.xmlの編集
URLクエリパラメータに読み込ませる値を設定します。以下のコードをweb.xmlに記載します。
<context-param> <param-name>version</param-name> <param-value>1.1</param-value> </context-param>こうすることによりコンテキスト単位で値を保存できます。
JSPの記載
EL式の暗黙オブジェクト「initParam」を使用します。- CSS
<link rel="stylesheet" type="text/css" href="保存パス?${initParam.version}" />
- JavaScript
<script type="text/javascript" src="保存パス?${initParam.version}" />
0 コメント:
コメントを投稿