快速业务通道

标签库,永恒的争论话题 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
烈站在正方观点上的一个Web层框架,它试图通过IDE的帮助,来解决反方所说的维护成本和学习成本的问题。而许多其他的Web框架,则相对保持中立,对于标签库,采取“不抛弃,不放弃”的原则。

如果我们比较理性的来看待这个问题,也只能说,这是一个编程方面的哲学问题。每个人应该根据自己对待代码的哲学理解进行答案选择。千万不要因此而引起框架之争。

标签的发展与趋势

正反双反的激烈辩论,也推动了View层的发展,因为正反双方都在寻求对方的破绽,从而找出解决方案反驳。

从正方来讲,大约做出了以下的一些进展:

1. 制定标准标签库JSTL,试图统一绝大多数的标签

2. 借助IDE的帮助,打造更多更丰富的Web层组件,并加强AJAX等功能

3. 将成熟的JavaScript UI框架,改造成Taglib的形式

4. 随着EL的逐步推广,在JSP中使用EL也越来越能够被大家接受

而反方,则大刀阔斧的对View层的表现形式做出了改革,并且被越来越多的程序员所接收:

1. 放弃Taglib,推崇模板技术

2. 不使用Taglib来构造页面组件,而更多的采用JavaScript技术来丰富页面展示

3. 直接放弃使用HTML为模式的页面展现方式,改用Flex等Flash表现方案

从实际效果上来看,反方的方案更加激进,有的干脆直接抛弃了HTML,采取其他的表现形式。使用JavaScript进行页面渲染的代表应该是Ext,你几乎无法看到HTML代码了。而模板技术作为一个新兴的技术,也得到了越来越多的程序员的青睐。这几年以来,富客户端的发展如火如荼,不知道是不是也能够成为反方强有利的论据和武器。

而正方,他们所能做的相对比较局限,支持Taglib,无疑就是把Taglib进行扩充,这一点似乎基本上以JSF为首在推基于Taglib的组件,效果如何,自有公论,在这里我也不做过多的评论了。

标签分类

在深入探讨每个框架的标签之前,我们先来为标签分一下类,我们分类的标准,主要是根据标签的作用。

逻辑控制类

以JSTL为例,JSTL大概提供了以下一些标签,用于逻辑控制的标签:

c:if     ———— 分支判断

c:forEach      ———— 循环

c:choose / c:when / c:otherwise     ———— 分支判断

c:catch      ———— 异常处理

逻辑控制类的标签实际上每个框架基本上都有,因为逻辑控制是组成程序的基本要素,可以说,逻辑控制类的标签在JSP中,也是必不可少的。只是不同的Web框架对逻辑控制类的标签的定义稍有不同,其本质还是一样的。

标签库,永恒的争论话题(3)

时间:2011-01-17

数据输出类

同样以JSTL为例,JSTL大概提供了以下几个用于数据输出的标签:

c:out     ———— 输出表达式的值

c:url     ———— 输出格式化url

c:set     ———— 设置表达式的值

c:param     ———— 设置参数

fmt:message   ———— 输出资源文件中的值

fmt:formatDate    ———— 格式化输出日期

fmt:formatNumber    ———— 格式化输出日期

数据输出类的标签每个框架也都有。比如Struts1中,著名的<bean:property>标签、webwork中,著名的<ww:property>标签等等。这些标签对于JSP页面来说,也是必不可少的。因为JSP的基本作用就是展现数据,这些标签正是为了展现数据而提供的。

页面组件类

页面组件类的Taglib就更多了,以Struts2为例,Struts2提供了无数UI Tag,具体可以参考:

http://struts.apache.org/2.0.14/docs/tag-reference.html

这些UI Tag实际上是对HTML标签的扩展和扩充,添

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号