
質問させて下さい。
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は今書きながら思いついたので適切かどうかわかりません。(読み込みと分解の方法を適切にすれば良いような気もしますが…)
いったいどのようにするのが適切なのでしょうか。
ご教示のほどよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
このテンプレートのやり方が一般的な考え方ですよ。
後はXML + XSSを使ってASPファイル(画面に出力する内容を動的に変更)できる形のテンプレートを用意して、HTML生成させてもいいですけどね。
>Replace関数を多用したりするのは負荷が大きくならないか心配
Replaceを使う部分を心配されているのであれば、
実際に、Stressテスト用ツールがマイクロソフトから無償で
入手できますので、それで実験してみて、負荷がどれぐらい
かかるのか見てみるといいかもしれません。
いずれにしても、ASPには、ASP.NETのマスターページのような
考え方がありませんので、この書籍に掲載されていたやり方が
一番ベターだと思います。
回答ありがとうございます。
結論としては(2)のReplace関数を利用するという方法がベターということでよろしいでしょうか。読み違えていたら申し訳ありません。
ちなみにご紹介のStressテスト用ツールというのは
http://www.microsoft.com/japan/msdn/columns/serv …
の記事にあるツールのことでしょうか。
初めて知りましたので、折を見て試してみたいと思います。
No.2
- 回答日時:
ご連絡が遅くなってしまいすいません。
>結論としては(2)のReplace関数を利用するという方法がベターということでよろしいでしょうか。読み違えていたら申し訳ありません。
はい、そうです。
>ちなみにご紹介のStressテスト用ツールというのは
>http://www.microsoft.com/japan/msdn/columns/serv …
>の記事にあるツールのことでしょうか。
はい、そうです。
「Replace関数を多用したりするのは負荷が大きくならないか心配です」とおっしゃっていたので、どれぐらい負荷が大きくなるのか、実際にStressテストで試してみた方が良いかなと思った次第です。
英語のツールになりますので、若干使い勝手が悪いかもしれませんが、負荷を与えた時のテストが容易にできるため、一度実験して頂けると幸いです。
お礼が遅くなりまして申し訳ありません。
ご紹介いただいたツールを試してからご報告しようと思っていたのですが、ちょっと時間が取れないのでひとまずお礼だけ申し上げます。
ありがとうございました。
また何かあった時にはご教示のほどよろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP php ログイン 1 2022/11/01 00:24
- Word(ワード) ワードのテンプレ作れる? 1 2022/03/26 10:35
- HTML・CSS CSSが上手く反映されないみたいです 2 2022/11/21 16:19
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- 英語 Hence, osseointegration is but a foreign body resp 2 2022/11/03 18:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DreamweaverのTempleteのmeta
-
Dreamweaverのテンプレートの更...
-
「ムーバブルタイプ」の販売ペ...
-
wordpressの投稿ページの格納場所
-
【Yomi Search】カテゴリ欄のカ...
-
出金伝票のテンプレート
-
「続きを閉じる」の項目の追加
-
SEOテンプレートの「賢威」
-
FC2のテンプレ
-
ドリームウィーバーでの文字の...
-
Goo有料版の制作途中での保存と...
-
FC2ブログの下書き保存場所...
-
gooブログのテンプレートについて
-
ヤプログでテンプレートを編集...
-
HEAD・HTMLの行間改行が上手く...
-
数式エディタでの書き方
-
EXCELで損益分岐点って作...
-
Tumblrの画像投稿で勝手にリサ...
-
livedoorblogで、
-
FC2ブログでのカテゴリについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordpressの投稿ページの格納場所
-
Classic ASP でマスターページ...
-
質問ですhtmlで矢印の所を変え...
-
アメブロ タイトル画像の下に...
-
三つ折りのリーフレットを作りたい
-
Becky!ver.2で、返信・転送用テ...
-
ワードプレスで公開しているペ...
-
はてなブログ 設定
-
Powerpointの表のスタイルで好...
-
<至急お願いします!>Wordでテン...
-
改ざんは修正や訂正という意味...
-
エクセル履歴書テンプレートの...
-
ワードプレスに詳しい方に質問...
-
gooブログの編集画面が表示しな...
-
FC2ブログでプロフィールが2つ...
-
htmlとcssで分数を表示後、分数...
-
右サイドバーが下に落ちてしまう
-
FC2ブログでコメント投稿者の名...
-
FC2ブログでバナーを貼る方法
-
Wordの「キーボードのユーザー...
おすすめ情報