dポイントプレゼントキャンペーン実施中!

質問させて下さい。

Classic ASP でASP.NETのマスターページのような共通テンプレートを利用する時には、

(1)ヘッダフッタにわけて#includeを使う
<!-- #include file="../include/header.asp" -->
<% Response.Write "コンテンツ部分" %>
<!-- #include file="../include/footer.asp" -->

(2)テンプレートを用意しておきContentsの部分をReplaceする
○temlate.html
<html>
<head><title>タイトル</title></head>
<body>
{{Contents}}
</body>
<html>

○sample.asp
'テンプレ読み込み
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile("template.html", 1, False)
Do Until ts.AtEndOfStream
 strTemplate = objFile.ReadAll
Loop
'コンテンツ部作成
strContents = "コンテンツ部分"
'HTML吐き出し
Response.Write Replace(strTemplate,"{{Contents}}",strContents)

(3)2のようにテンプレを用意するがReplaceはしない
○sample.asp
'テンプレ読み込み
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile("template.html", 1, False)
Do Until ts.AtEndOfStream
 strTemplate = objFile.ReadAll
Loop
'テンプレ分解
arrTemplate = Split(strTemplate,"{{Contents}}")

Response.Write arrTemplate(0) 'ヘッダ出力
Response.Write "コンテンツ部分"
Response.Write arrTemplate(1) 'フッタ出力


1は古い本などに載っているやり方で、今いじっているソースもそうなっているのですが、テンプレートのhtmlを編集するのが困難なのでやめたいと思っています。
2は{{}}の部分を変えていけばいろいろ応用が利いて便利そうですが、コンテンツ部分を変数に保持したりReplace関数を多用したりするのは負荷が大きくならないか心配です。
3は今書きながら思いついたので適切かどうかわかりません。(読み込みと分解の方法を適切にすれば良いような気もしますが…)

いったいどのようにするのが適切なのでしょうか。
ご教示のほどよろしくお願い致します。

A 回答 (2件)

このテンプレートのやり方が一般的な考え方ですよ。


後はXML + XSSを使ってASPファイル(画面に出力する内容を動的に変更)できる形のテンプレートを用意して、HTML生成させてもいいですけどね。

>Replace関数を多用したりするのは負荷が大きくならないか心配

Replaceを使う部分を心配されているのであれば、
実際に、Stressテスト用ツールがマイクロソフトから無償で
入手できますので、それで実験してみて、負荷がどれぐらい
かかるのか見てみるといいかもしれません。

いずれにしても、ASPには、ASP.NETのマスターページのような
考え方がありませんので、この書籍に掲載されていたやり方が
一番ベターだと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

結論としては(2)のReplace関数を利用するという方法がベターということでよろしいでしょうか。読み違えていたら申し訳ありません。

ちなみにご紹介のStressテスト用ツールというのは
http://www.microsoft.com/japan/msdn/columns/serv …
の記事にあるツールのことでしょうか。
初めて知りましたので、折を見て試してみたいと思います。

お礼日時:2008/08/04 18:52

ご連絡が遅くなってしまいすいません。



>結論としては(2)のReplace関数を利用するという方法がベターということでよろしいでしょうか。読み違えていたら申し訳ありません。

はい、そうです。

>ちなみにご紹介のStressテスト用ツールというのは
http://www.microsoft.com/japan/msdn/columns/serv …
>の記事にあるツールのことでしょうか。

はい、そうです。
「Replace関数を多用したりするのは負荷が大きくならないか心配です」とおっしゃっていたので、どれぐらい負荷が大きくなるのか、実際にStressテストで試してみた方が良いかなと思った次第です。
英語のツールになりますので、若干使い勝手が悪いかもしれませんが、負荷を与えた時のテストが容易にできるため、一度実験して頂けると幸いです。
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして申し訳ありません。

ご紹介いただいたツールを試してからご報告しようと思っていたのですが、ちょっと時間が取れないのでひとまずお礼だけ申し上げます。

ありがとうございました。
また何かあった時にはご教示のほどよろしくお願い致します。

お礼日時:2008/08/12 15:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!