質問させて下さい。
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ランキング
-
onedrive にexcelファイルをア...
-
エクセルに張り付けた写真のフ...
-
バッチで当日日付で作成される...
-
Windows10にデュアルブートでXP...
-
VB.NET Excelを読み込んでDataT...
-
vba 空のデータをSplitする時の...
-
キヤノン アソビカメラ iNSPiC ...
-
【VB.NET】App.configにファイ...
-
【VB.NET】Excelの最終行までの...
-
C#からvbsを実行したい
-
aspxをhtmlに変換する方法について
-
VB.NETでMSComm が追加できず?
-
【VB.NET】for each文からのINS...
-
phpのファイルがブラウザで開か...
-
”KINGSOFT WPSのVBエディタ画面...
-
vb.netでの記述方法について 以...
-
VB.NET 2017の勉強中です。 今...
-
高校1年生情報の問題について。
-
マクロコードについて
-
VBAでPDFを作成する際、同じ名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordpressの投稿ページの格納場所
-
HTML&CSSとwordpressの違い
-
Classic ASP でマスターページ...
-
はてなブログ 設定
-
三つ折りのリーフレットを作りたい
-
Becky!ver.2で、返信・転送用テ...
-
改ざんは修正や訂正という意味...
-
Powerpointの表のスタイルで好...
-
ライブドアブログのサイドバー...
-
中央寄せの解除
-
ワードプレスに詳しい方に質問...
-
FC2ブログのトップページの記事...
-
ホームページビルダーのナビゲ...
-
word個人用テンプレートの削除方法
-
FC2ブログのアクセスカウンター...
-
FC2ブログのタイトル文字の色変...
-
ワードプレスで公開しているペ...
-
ライブドアブログにおいて記事...
-
パブリッシャーの変わりになる...
-
gooブログ の 下書きの保存 方法
おすすめ情報