帝王谷资源网 Design By www.wdxyy.com
阐述一种全新的ASP模板引擎,实现代码(逻辑)层与HTML(表现)层的分离.这种模板实现方法避免了一 般ASP模板加载模板文件(加载组件)和替换所浪费的资源,实现编译型的模板引擎,提高程序的执行速度和稳定性。

内容:
        当前,WEB开发已经变得非常火爆,因为各种应用,已经约来越要求表现层和逻辑层的分离.ASP和HTML夹在一起程序将变得难于维护,可读性也差。在PHP领域,模板引擎已经非常普遍,如phplib,SMARTY,等等.有使用替换方式的,也有编译方式的(SMARTY),它们都较好的实现了逻辑层和表现层的分离.由于PHP的影响,在ASP界有人借鉴phplib等使用替换的方法开发出asp的模板类,由于ASP在字符处理上性能并不是很强大,所以在速度上受到影响,这样的模板在目前的应用也不是很广泛。如: 1asp模板引擎终结者(WEB开发之ASP模式)<!--template.html-->
2asp模板引擎终结者(WEB开发之ASP模式)<html>
3asp模板引擎终结者(WEB开发之ASP模式)<head>
4asp模板引擎终结者(WEB开发之ASP模式)<title>{$title}</title>
5asp模板引擎终结者(WEB开发之ASP模式)</head>
6asp模板引擎终结者(WEB开发之ASP模式)<body>
7asp模板引擎终结者(WEB开发之ASP模式){$body}
8asp模板引擎终结者(WEB开发之ASP模式)</body>
9asp模板引擎终结者(WEB开发之ASP模式)</html>
1asp模板引擎终结者(WEB开发之ASP模式)<!--Template.asp-->
2asp模板引擎终结者(WEB开发之ASP模式)<%
3asp模板引擎终结者(WEB开发之ASP模式)TemplateCode=Load("template.html")'自定义函数,装载模板文件到TemplateCode
4asp模板引擎终结者(WEB开发之ASP模式)TemplateCode=Replace(TemplateCode,"{$title}","asp模板引擎终结者")'替换模板
5asp模板引擎终结者(WEB开发之ASP模式)TemplateCode=Replace(TemplateCode,"{$body}","asp模板引擎终结者内容")'替换模板
6asp模板引擎终结者(WEB开发之ASP模式)Response.Write TemplateCode
7asp模板引擎终结者(WEB开发之ASP模式)%>       上面的例子只是初步展示了当前ASP模板的思想,有ASP版的CMS系统已经嵌入了对模板的逻辑控制,虽然能够实现逻辑和界面的分离,但是这种模板存在的问题就是模板需要每次都用ASP解析一次,程序相当于解析两次,而且当要替换的内容很多的时候,将会降低性能.而且装载模板需要服务器支持一种组件(FSO,ADODB,XMLHTTP均可实现).
  借鉴于编译型的模板,我在ASP中引进这种思路.提出一种应用在ASP中的功能和性能都很优良的模板体系.下面用代码表示:
 1 <!--template.html-->
 2 <html>
 3 <head>
 4 <title><%=title%></title>
 5 </head>
 6 <body>
 7 <!--<%
 8 'If逻辑控制,当然这里对于FOR,While 循环也一样处理,是不是觉得很简单呢,
 9 '对逻辑进行html注释,在DW(Dreamweaver)下就不会应为逻辑控制的asp占位符产生变形,对于其他的变量将显示一个asp标记,便于修改
10 IF Catalog="music" Then
11 %>-->
12 <%=music%>
13 <!--<%Else%>-->
14 <%=book%>
15 <!--<%End If%>-->
16 </body>
17 </html>
1 <!--Template.asp-->
2 <%
3 title="asp模板引擎终结者"
4 Catalog="music"
5 music="音乐"
6 book="书"
7 %>
8 <!--#include file="template.html"-->思路:asp文件进行常规的逻辑处理,运算,不用管显示层,当然需要显示的变量需要和显示层结合(PHP也一样),在模板文件中用<%%>直接控制变量的显示和逻辑的控制,不显示的逻辑控制符用html注释符<!---->注释掉,当然,不注释也是可以的.这样在ASP文件的最后"<!--#include file="template.html"-->"就实现了模板和ASP文件的结合,实现了代码和表现层的分离,这里并没有用ASP去Load模板,然后替换,浪费不必要ASP资源.这些处理全部都省去了。你会发现写ASP文件变得更加方便,因为你再也不需要在其中控制替换,逻辑显示的行为。在ASP中直接执行肯定比替换要来得迅速和稳定.况且,加载模板的时候你必须还要加载一个组件.
         写到这里,你也许明白了这种模板的精髓了,它只是一种设计模式,不是一个用模板类来处理的模板引擎。
标签:
ASP,模板

帝王谷资源网 Design By www.wdxyy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
帝王谷资源网 Design By www.wdxyy.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?