论坛首页 Web前端技术论坛

我也踢Taglib一脚

浏览 41237 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-04-14  
robbin说得太好了,把我的心里话都说出来了,//hand & //hug

首先我和robbin一样,都是深切关心美工mm的人,和美工mm的亲密合作,是程序员gg工作中不可缺乏的调味剂和亮点,所以我们要把这个放到第一位,有害这种关系的东西,一概不用。所以,当MM们用Dreamweaver打开struts或者taglib页面的时候皱起了眉头,我们就知道了,这些技术应当抛弃,毫不犹豫的,坚定的,没有商量余地的抛弃。

其次我们要洞察一下,taglib到底为我们带来了什么?是一套枷锁,一套繁重而无用的枷锁。最简单的说,sun说taglib目的是什么?消除jsp页面逻辑代码。那么对于一套我们设计得已经很漂亮的系统来说,我们的页面代码已经在严格的MVC模式和类封装下,没有任何逻辑代码,jsp纯粹是显示功能了,那么我们为什么要用taglib。Taglib只是为了限制那些没有良好oo设计的人,它对他们说,你的页面这么乱,来用我吧,戴上我,你就不得不按我的方法做事,那么你的页面就干净了。

正如robbin和Xiaogang (时间要用在刀刃上)的聊天记录说的一样,

用TagLib写的
<c:fmt key="Order.PlaceOrder"/>
用Java来写也不过是
messageResource.getString("Order.PlaceOrder")

当然,这里messageResource的获得,和你配置TagLib的工作量是差不多的。对于一个真正的JAVA程序员来说,自己使用ResourceBundle比用TagLib,其实是方便很多的。

当然,JSTL里面包括了几大部分,还有就是对SQL和xml的封装,对sql的封装好像看起来不错,不用在JSP写丑陋的一大堆数据库读写代码啦,可是谁都知道,大型项目中,这个不过是个鸡肋,小型项目玩玩这种方法可能还可以吧。

至于流程控制语句的封装那里是最丑的,你说XSL是一种纯标签的,它不得已用那些流程跳转标签,本来学着用着已经不太舒服,不过人家本来就是这样的,没有办法。可是你好好的可以用JAVA实现方便的跳转功能,放着if-else不用用标签,是不是吃饱了撑了呢?

现在的感觉是,并不是厂商出个什么新的功能,就一定是好的,我们就一定要用。这个就是用JAVA比用微软好的原因之一。微软升级了,你就要跟着升级,它用.net了, 把原来自己拿来和J2EE抗衡的COM+都抛弃了,完全不支持,你只好跟着它升级。但是用JAVA,你会有很多选择。

但是现在最遗憾的是,不是产品用了taglib和struts,要分析源代码不少还是要会看taglib才行,例如sun自己的Adventure(当然它自己要用啦),还有Jive3.1.4,用了WebWork,页面基本没有taglib,偏偏就是为了贪点点方便,用了
国际化的JSTL,不过也就那么一点点,页面大部分的代码还是JAVA的,看了就觉得搞笑啊搞笑..............

其实由于用了taglib,其实看代码变得很不方便的,尤其是如果用了自定义的,唉,有时候真是象看天书啊。

希望TagLib快快过去吧,就当它是Sun放的一个pi吧.....................
   发表时间:2004-04-14  
说得好! 我也来一脚!
美工mm只管静态页面的显示效果(注意,不是显示内容),而动态内容全部由程序员来负责。也就是说,美工mm应该一点都不懂javascript,而程序员gg应该是java和javascript大牛!
所以,我认为tapestry完全可以解决分工问题,让美工mm使用绘图、渲染工具把我们的页面画的漂漂亮亮(HTML),而程序员gg把交互、逻辑做的棒棒的(page、component)。
大家发现tapestry的html嵌入了<span jwcid.....标记,这个标记不是在JSP中的!!!所以tapestry完全考虑了分工协作!!!
最后,我要说的是,javascript在tapestry中的作用还是很大的,XMLHTTP和Tapestry不冲突!Tapestry是用component输出javascript而已!所以,我预测,javascript在未来50年内决不会被其他什么技术动摇!只可能加强功能,不可能减弱!
0 请登录后投票
   发表时间:2004-04-14  
andyyehoo 写道

首先我和robbin一样,都是深切关心美工mm的人,和美工mm的亲密合作,是程序员gg工作中不可缺乏的调味剂和亮点,所以我们要把这个放到第一位,有害这种关系的东西,一概不用。所以,当MM们用Dreamweaver打开struts或者taglib页面的时候皱起了眉头,我们就知道了,这些技术应当抛弃,毫不犹豫的,坚定的,没有商量余地的抛弃。


我终于知道我为什么还在用Taglib了.
0 请登录后投票
   发表时间:2004-04-14  
我觉得这里有一个误区。和美工合作当然是必须的。但其实在一个项目中,页面的类型就那么几种。显示页面,列表页面,输入页面等等。那在我写这个jsp之前,我应该知道,我应该选用那种风格页面。也就是说如果是先美工设计好页面风格然后我们再采用,那你说的问题基本不存在,先做好jsp页面再叫美工去修改本来就不是一种合理的做法。taglib的弊端绝不是和美工合作的问题,如果存在这种问题只能说工作流程需要改善。
taglib体现了一种封装的思想,如果使用合理并且熟练是可以节省工作量的,但当然你需要一个学习和熟练的过程。
其实和美工合作的问题在很多时候如果美工先把需要的样式设计好是没有那么多问题的。struts里面的tiles也是一些taglib,但使用tiles是一个不错的选择。如果是先做后页面再叫美工修改同样的问题还存在。
0 请登录后投票
   发表时间:2004-04-14  
我认同孤魂一笑的看法。如果先做美工的东东,再做JSP的东东,根本没有问题
0 请登录后投票
   发表时间:2004-04-14  
孤魂一笑 写道
我觉得这里有一个误区。和美工合作当然是必须的。


或者是你们公司比较强吧,在我们公司,这个"误区"可是一直存在。基本流程当然也是美工先做页面再写JSP,但是好像还没有过一个项目是美工画好了所有页面就可以高枕无忧了,即使她把CSS的应用发挥得淋漓尽致,总会有一些修改。如果遇到一些客户麻烦的项目,更加是..........嘿嘿
0 请登录后投票
   发表时间:2004-04-14  
楼主,使用taglib的最终目的是为了方便没有java程序基础的人可以看懂代码,因为每一个做HTML或者XML精通的人都对标签是敏感的。
   你在页面如果嵌入太多程序,反而会打乱她(他),不信,你自己试试就是,看你的那个美工MM是愿意看到标签还是看到程序!
0 请登录后投票
   发表时间:2004-04-14  
用了taglib,很多情况下j sp到了dreamweaver显示就乱了,有时候根本就没内容显示。不知道有没有支持taglib的编辑器。我们的美工mm不喜欢看标签,她只会用dreamweaver画阿画,基本不看html和javascript,不过她画出来的页面就是好看。

况且,无论是taglib还是java代码,本来就都不是让他们看的,这些是程序员写的和维护的,他们不应该动,也不需要懂
0 请登录后投票
   发表时间:2004-04-15  
andyyehoo 写道
孤魂一笑 写道
我觉得这里有一个误区。和美工合作当然是必须的。


或者是你们公司比较强吧,在我们公司,这个"误区"可是一直存在。基本流程当然也是美工先做页面再写JSP,但是好像还没有过一个项目是美工画好了所有页面就可以高枕无忧了,即使她把CSS的应用发挥得淋漓尽致,总会有一些修改。如果遇到一些客户麻烦的项目,更加是..........嘿嘿


这个修改的工作是程序员去做而不是美工。而且我觉得适当的使用DW 的模板功能很有必要。因为一个页面有很大一部分是相同的,只有一小部分是这个页面特定的东西。那么这一小部分的修改当然是程序员去做而不是美工。涉及到大的修改可以修改模板,模板修改以后DW会自动的修改修改使用了这个模板的相关文件,其实使用模板的根本原因在于,页面有很多公共的元素,使用模板把这些公共的元素定好,tiles也是基于这种考虑。
0 请登录后投票
   发表时间:2004-04-15  
孤魂一笑 写道
这个修改的工作是程序员去做而不是美工。


这不一定,比如我现在的项目就是上一个项目的再次实施,客户要求把全部的版面修改得跟上一个项目不一样,这些工作程序员就做不来了
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics