标签库,永恒的争论话题 - 编程入门网
烈站在正方观点上的一个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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |