著者:Sun Li Email:17bizat126.com
書面:2006/3/5
著作権声明:自由に転載することができます。転載するときは、記事の元のソース、著者情報、およびこの声明をハイパーリンクの形で必ず示してください。
http://sunli.cnblogs.com/archive/2006/03/05/343095.html
キーワード:ASPテンプレート
要約:新しいASPテンプレートエンジンが説明されており、コード(論理)レイヤーとHTML(プレゼンテーション)レイヤーの分離を実現します。このテンプレートの実装方法により、一般的なASPテンプレートのロードテンプレートファイル(コンポーネントのロード)の無駄なリソースが回避され、無駄なリソースの置き換えを回避し、コンパイルされたテンプレートエンジンを実現して、プログラムの実行速度と安定性を改善します。
要約:新しいASPテンプレートエンジンを説明して、コード(論理)レイヤーとHTML(プレゼンテーション)レイヤーを分離します。このテンプレート実装方法は、一般的なASPテンプレートの読み込みテンプレートファイルを回避します(ロード)
コンポーネント)およびコンパイルされたテンプレートエンジンを実現し、プログラムの実行速度と安定性を改善するために、無駄なリソースを置き換えます。
コンテンツ:
現在、さまざまなアプリケーションのためにWeb開発が非常に人気があり、プレゼンテーションレイヤーとロジックレイヤーの分離がますます必要です。 ASPとHTMLは一緒に挟まれており、プログラムは維持が困難になり、読みやすさが低くなります。 PHPフィールドでは、PHPHPHPIB、SMARTYなどのテンプレートエンジンはすでに非常に一般的です。代替メソッドがあり、コンピレーション方法(SMARTY)もあります。 ASP業界でのPHPの影響により、一部の人々はPHPHPLIBやその他の方法を使用してASPテンプレートクラスを開発します。 ASPのパフォーマンスはキャラクター処理ではそれほど強力ではないため、速度が影響を受けます。このようなテンプレートは、現在の状況では広く使用されていません。のように:
1 <! - template.html->
2 <HTML>
3 <ヘッド>
4 <title> {$ title} </title>
5 </head>
6 <body>
7 {$ body}
8 </body>
9 </html>
1 <! - template.asp>
2 <%
3templatecode = load( "template.html") 'カスタム関数、テンプレートファイルをtemplatecodeにロードします
4templatecode = facter(templatecode、 "{$ title}"、 "aspテンプレートエンジンターミネーター") 'テンプレートを交換します
5templatecode = facter(templatecode、 "{$ body}"、 "aspテンプレートエンジンターミネーターコンテンツ") 'テンプレートを置き換えます
6Response.WriteTemPlateCode
7%>上記の例は、ASPテンプレートの現在のアイデアのみを示しています。 CMSシステムのASPバージョンには、テンプレートに対する論理的制御が組み込まれています。ロジックとインターフェイスの分離を実現できますが、このテンプレートの問題は、テンプレートをASPで毎回解析する必要があることです。このプログラムは、2回の解析に相当します。そして、交換するコンテンツがたくさんあると、パフォーマンスが低下します。さらに、サーバーはコンポーネントをサポートする必要があります(FSO、ADODB、XMLHTTPを実装できます)。
コンパイルされたテンプレートを借りて、ASPでこのアイデアを紹介しました。 ASPに優れた機能とパフォーマンスが適用されるテンプレートシステムを提案しました。以下はコードで表現されています。
1 <! - template.html->
2 <HTML>
3 <ヘッド>
4 <Title> <%= title%> </title>
5 </head>
6 <body>
7 <! - <%
8'if Logic Control、もちろん、ここでループしている間、同じプロセスで、非常に簡単だと思いますか?