高端网站建设-asp模板引擎终结者(WEB开发之ASP模式)
author:一佰互联 2019-04-15   click:170
 内容:

当前,web开发已经变得非常火爆,因为各种应用,已经约来越要求表现层和逻辑层的分离.asp和html夹在一起程序将变得难于维护,可读性也差。在php领域,模板引擎已经非常普遍,如phplib,smarty,等等.有使用替换方式的,也有编译方式的(smarty),它们都较好的实现了逻辑层和表现层的分离.由于php的影响,在asp界有人借鉴phplib等使用替换的方法开发出asp的模板类,由于asp在字符处理上性能并不是很强大,所以在速度上受到影响,这样的模板在目前的应用也不是很广泛。如:

1<!--template.html-->

2<html>

3<head>

4<title>{$title}</title>

5</head>

6<body>

7{$body}

8</body>

9</html>

 

1<!--template.asp-->

2<%

3templatecode=load("template.html")"自定义函数,装载模板文件到templatecode

4templatecode=replace(templatecode,"{$title}","asp模板引擎终结者")"替换模板

5templatecode=replace(templatecode,"{$body}","asp模板引擎终结者内容")"替换模板

6response.write templatecode

7%>

上面的例子只是初步展示了当前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中直接执行肯定比替换要来得迅速和稳定.况且,加载模板的时候你必须还要加载一个组件.

 

高端网站建设价格套餐:

500元成品模板网站套餐1000元基础型网站套餐1800元标准定制设计套餐2800元精美定制设计套餐3800-8000元商务型套餐行业门户型套餐其它定制套餐 文章由重庆一佰互联高端网站建设http://www.yinxi.net编辑整理,转载请注明出处