HTMLテンプレート(prototype.js)

説明

prototype.jsライブラリのバージョン1.5以降ではHTMLテンプレート機能があります。この機能を利用するとHTML文書内またはテキストファイル内の特定の部分だけをプログラムで置換することができます。置換対象となるのは#{名前}の文字列ですが、これは任意のパターンを指定することもできます。
HTMLテンプレート機能を利用するにはテンプレートとなるデータ、ファイルをnew Template()として新たに生成します。生成したテンプレートオブジェクトのevaluate()でパラメータに置換するキーと値をプロパティリスト形式(連想配列/ハッシュ形式)で指定します。
JavaScriptテクニック ブック  詳しい解説などはJavaScriptテクニック ブックを参照してください。

サンプルコード [実行]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>JavaScript Sample</title>
<link rel="stylesheet" type="text/css" href="main.css" media="all">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<h1>HTMLテンプレート</h1>
<div id="message"></div>
</body>
</html>

window.onload = function(){
var msec = (new Date()).getTime();
new Ajax.Request("message.txt", {
method: "get",
parameters: "cache="+msec,
onSuccess:function(httpObj){
var text = httpObj.responseText;
var template = new Template(text);
$("message").innerHTML = template.evaluate({
weather : "くもり",
temp : "13℃"
});
},
onFailure:function(httpObj){
$("tableData").innerHTML = "エラーで読み込めませんでした";
}
});
}