the5fire的技术博客

关注python、vim、linux、web开发和互联网--life is short, we need python.


JSTL-开放源代码的JSP标签库

作者:the5fire | 标签:     | 发布:2010-12-31 2:17 a.m. | 阅读量: 4666, 4604

今天刚知道这个东西,JSTL全称:JSP Standard Tag Library,翻译过来就是标准的JSP标签库。那什么是标签?标签就是用来标志您的目标的分类或内容,在HTML语言中处处都是标签。 那为什么要出现这么一个东西呢-JSTL?

官方说法是: 1. 使用 JSTL 标记来避免在 JSP 页面中使用脚本编制元素; 2. JSTL 经过简化的表达式语言,它允许在不必使用功能齐全的编程语言的情况下对 JSTL 操作指定动态属性值 我个人也总结出来两点: 1. 某开发人员比较懒惰,不愿意经常重复性的在JSP页面中使用那些脚本元素,因此就封装了自己的一套代码,专门用来简化JSP的编写的; 2. 又一开发人员在对JSP页面进行维护时发现这些页面中的元素乱七八糟,作为一个有洁癖的开发大牛,他表示可以让页面维护起来更加简洁,于是……

不可否认是一少部分人的懒惰造成了大部分人的懒惰。

继续说

JSTL作为一个很给力的表示层的技术,是由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。它还提供了用来生成和操作 URL 的标记。顾名思义,format 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据,而 sql 库定义了用来查询关系数据库的操作。(参考IBM的文章)

看完实例介绍之后,我发现这个东西很像是aspx中的控件,对比一下看看:

JSTL:

<c:choose>
    <c:when test="${v1 gt v2 }">
        v1大于v2<br>
    </c:when>
</c:choose>

ASPX:

<asp:TreeView ID="tvNodeRoot" runat="server" ShowLines="True">
    <Nodes>
        <asp:TreeNode Text="课程管理">
         <asp:TreeNode Text="视频演示" Value="视频演示" Target="ContentFrame" NavigateUrl="InstructionsRoom.html">
         </asp:TreeNode>
        </asp:TreeNode>
    </Nodes>
</asp:TreeView>

那他们之间的不同之处是什么呢?咂看之下自然就是JSTL能看源代码,ASPX的不能。

详细的比较以后再写吧,天快亮了,该睡觉了。

扩展阅读:http://www.ibm.com/developerworks/cn/java/j-jstl0211/index.html


----EOF-----

扫码关注,或者搜索微信公众号:码农悟凡


其他分类: