论坛首页 Web前端技术论坛

我也踢Taglib一脚

浏览 41236 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-04-20  
引用
从根本上说taglib和tapestry的处理办法是差不多的


嘿嘿,这就错误了,从根本上来说,Tapestry的处理方法和taglib是不同的,你看看Tapestry作者自己怎么说的吧,他还重点提到了taglib的性能问题,这也是他自己开发Tapestry原因之一,就在前几天TSS上面就有。
0 请登录后投票
   发表时间:2004-04-20  
TiGEr.zZ 写道
至于jsp,如果认为jsp相对简单的人,说明页面开发上不是对象的思想。
   好吧,那我就戴戴这顶帽子吧

引用
jsp始终是最灵活的

这句我爱听,灵活性就像自由一样。不过是把双刃剑吧,总是有人会受伤的。 就像某些人一样,非说要到学校的图书馆才能静心看书,在自己家里就算只有自己一个人也看不下书。
0 请登录后投票
   发表时间:2004-04-20  
的确taglib本身和tapestry是无法相提并论的,但两者的思想到页面表现并没有本质的区别。
如果有人觉得什么dreamweav不支持taglib,那也不是taglib的错,毕竟它使用的也是标准的xml语言。而反过来tapestry的组件如何表现也是不确定的事情。
taglib可以看作是组件到页面的桥梁,也就是说用taglib可以用于组件式开发的,比如说.net没人看得出两者有什么不同。
速度上,只要你不会在页面逻辑(包含taglib中)隐藏有后台的操作,相信差异有限的很。
0 请登录后投票
   发表时间:2004-04-20  
TiGEr.zZ 写道
的确taglib本身和tapestry是无法相提并论的,但两者的思想到页面表现并没有本质的区别。
如果有人觉得什么dreamweav不支持taglib,那也不是taglib的错,毕竟它使用的也是标准的xml语言。而反过来tapestry的组件如何表现也是不确定的事情。
taglib可以看作是组件到页面的桥梁,也就是说用taglib可以用于组件式开发的,比如说.net没人看得出两者有什么不同。
速度上,只要你不会在页面逻辑(包含taglib中)隐藏有后台的操作,相信差异有限的很。


DW不支持talib,确实不是taglib的错误。但是taglib和tapestry的表现就是有本质区别的!本质区别就在于tapestry用的还是HTML标签,而taglib不是HTML标签,因此不是DW支持不支持的问题,而是你扩展的东西已经超出了HTML的范围了。

由于HTML是一个非编程语言类型的标签语言,因此做HTML不是编程,而是美工的范畴,他们可以借助各种视觉效果设计工具来生成HTML。

而taglib生成的东西已经是编程类型的语言了,你无法完全借助视觉效果设计工具来生成,而且taglib已经需要很强的逻辑思维能力,这完全不是美工那种抽象思维能力的人去处理的事情。而且taglib也不可能完全借助编程工具来实现,一定需要程序员来手工写的。

因此你可以看出来本质区别就是,HTML不是编程,taglib是编程。因此就算你可以强迫美工去学习taglib,可以开发支持taglib的视觉效果设计工具,但是你无法否认,做taglib不是编程,也无法否认则即使借助视觉效果工具,你必须手工写taglib方面的代码。

你做的工作究竟是编程工作,还是视觉设计工作,这真的是一个巨大的思维鸿沟!HTML不是编程,而是视觉效果设计,而taglib是编程,不是视觉效果设计。
0 请登录后投票
   发表时间:2004-04-20  
你说的基本上是这样。
但我想很多人也把html看做是一种(程序)设计,而不是所见即所得那么简单。tapestry是往html方向上走了一大步,在目前看来是可取的,我不否认。
至于手工的劳作两者基本上差不太多,大部分与美工配合的程序员在把web控件换成自己的东西上应该没有困难。
我更希望看到是其他方面的进步,而不是上面讨论的东西。
0 请登录后投票
   发表时间:2004-04-20  
如果说因为dw无法正确识别taglib(其实有插件),那么dw即使能够识别tapstrey的模板,制作页面的mm也是不敢乱动的.jwcid之类的是不能乱用的,而正确使用这些的只有程序人员.
对于稍微复杂的交互和表现,无论是javascript的运用还是基于服务器端的java代码都会对页面mm制作的原始页面带来不可避免的干扰,让制作页面的mm对干扰后的页面去调整,呵呵,我是不放心的.
采用不采用taglib对于分离页面mm和程序员gg的工作是没有什么帮助的.
另:对于是否采用taglib和自己编写taglib是不一样的
前一个只要满足下面两个条件就可:
1,采用了集成taglib页面框架,
2,开发人员对于taglib的掌握程度比较高,且有完整和成熟的taglib库.
后一个,除非公司准备产品化,并有持续的投入,否则还不如自己直接在jsp里写java代码.
0 请登录后投票
   发表时间:2004-04-20  
没有必要。
一个人不可能什么都精通。taglib可以替代html和javascript部分功能,有助于提高工作效率。
jstl中常用的语句 也就两条<c:out value="${}"/> <c:forEach items="${}"/> 。
0 请登录后投票
   发表时间:2004-04-21  
其实这个问题是看你做的项目实际情况,象我们做的基于j2EE的三层的MIS系统,如果用taglib就比较麻烦,因为里面用到大量的js,需要和和java代码很紧密的结合,如果用taglib就很难实现一些功能。
0 请登录后投票
   发表时间:2005-09-14  
对于taglib不能一棍子打死,我个人就写了一些感觉还挺实用的tag,比方日期
<zx:date property="beginDate" scope="request"/>还有一些其它可选属性,当然文件头要引用一些javascript,能自动绑定输入的日期,如图,要是换着其他做法不是很麻烦。其实凡事没有绝对,有利有弊,好的tag用于封装一些相对规则但书写复杂的显示对于简化编程提高准确性还是有好处的,成熟的tag对于美工我想也不是很大的问题,尤其对于频繁应用的组件进行维护也方便,尤其在同一项目中,可以单独为这个项目出一个版本的tag,开发者一开始基本不用考虑美工问题,最后在tag中统一写死样式,当然这种做法有点极端,但我相信几个版本后tag对样式的支持也会趋于成熟
0 请登录后投票
   发表时间:2005-09-14  
数标签,下面是一个例子
用于显示用户操作权限联接树
public class PrivilegeData {
    /**
     *
     */
    private String id;
    /**
     *
     */
    private String name;
    private String url;
    private String urlType;
    private String preId;
    private String leafSign;
    public void setId(String id)
    {
        this.id=id;
    }

    public String getId() {
        return this.id;
    }
    public void setName(String name)
    {
        this.name=name;
    }

    public String getName() {
        return this.name;
    }

    public void setUrl(String url)
    {
        this.url=url;
    }

    public String getUrl() {
        return this.url;
    }

    public void setUrlType(String urlType)
    {
        this.urlType=urlType;
    }

    public String getUrlType() {
        return this.urlType;
    }

    public void setPreId(String preId)
    {
        this.preId=preId;
    }

    public String getPreId() {
        return this.preId;
    }

    public void setLeafSign(String leafSign) {
        this.leafSign = leafSign;
    }

    public String getLeafSign() {
        return this.leafSign;
    }
}

页面代码:
<zx:tree id="treeview" name="eWorker System" leafSign="leaf" nodeName="name"
  nodeValue="id" preNode="preId" url="url" isLeaf="leafSign" imgPath="/sample/resource/images" scope="session">
</zx:tree>
当然这只是一个例子,用户在用的时候只要吧相应符合树型数据查询出来放在一个如PrivilegeData 类里面封装放于collection或其他hashtable,vector等中,tag 会根据你指定的树根拼装成一个树显示,你也可以不指定树根对应的nodevalue,让tag去寻找没有父节点点节点做根节点,这样不是大大简化程序员的开发量。tag 效果入图:
0 请登录后投票
论坛首页 Web前端技术版

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