JavaScriptを使ってHTMLのインクルードを実現しつつ、JSPでもインクルードできる方法
先のエントリにJSP版。これはあまりいけてないなあ。
●呼び出しイメージ
<script type="text/javascript" >//<%
include("a.txt",request,response); //%>
</script>
●スクリプト本体
<script type="text/javascript" >var request; // ←スクリプトエラーとならないように宣言
var response;
function include(filename) {
include.seq = (include.seq)? include.seq + 1: 1;var id = new Date().getTime() + "-" + include.seq;
var inc = document.createElement("iframe");inc.id = "inc-" + id;
inc.src = filename;
inc.style.display = "none";
document.body.appendChild(inc);
document.write("<span id=\"" + id + "\"></span>");
var f = function() {
inc = document.getElementById("inc-" + id);
var s = inc.contentWindow.document.body.firstChild.innerHTML;
document.getElementById(id).innerHTML =
s.split(">").join(">").split("<").join("<");
document.body.removeChild(inc);
};
if (window.addEventListener) window.addEventListener('load', f, false);
if (window.attachEvent) window.attachEvent('onload', f);
}/*<%!
void include(String filename,
javax.servlet.ServletRequest req, javax.servlet.ServletResponse res)
throws Exception {
req.getRequestDispatcher(filename).include(req, res);
}
/**///%>
JSPの場合は、標準では