注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小葫芦君(汉斯的博客)

博客迁移到新博客:https://blog.ssxingshou.com

 
 
 

日志

 
 
关于我

小小葫芦商城,为您提供高品质的商品,一流的产品,一流的包装服务,一流的物流服务,放心购买

网易考拉推荐

关于JSTL 1.1的学习探讨  

2007-03-23 10:59:47|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

     JSTL是JSP Standard Tag Library的简写,Java Community Process(JCP),JSTL表面看起来只是JSP一个插件,但事实上它也可以算上是一种新的用于构建动态web页的语言。无论是对程序员非程序员,JSTL提供了诸如循环、条件、数据库访问、XML处理、国际化(i18n)等开发上的工具和流程,本文主要介绍它的基础知识--它的历史目标计划。

什么是JSTL?
    JSTL是一组型如HTML的标签(tag)使你即使不需要学习Java也可以编写动态web页。在2002年中期发布后,它将会作为JSP平台的一个标准组成部分。使用JSTL你可以不需要按以往传统的语言编程方式来创建用于读取XML、访问数据库等各种任务的web页。JSTL是建立在JSP上的某种custom actions(自定操作)或custom tags(自定标签)。

当一些传统的编程语言比如象java出现在web页中,他们需要包含在一些标记中,比如在Jsp中:
<body>
    <p>
        We have now stolen <%= session.getAttribute("dollars") %>
        from your credit-card account. Please stop by again.
    </p>
</body>
    所有的Java代码被包含在<%...%>中 ,<%=...%>用来直接输出表达式和变量,这点大家都很熟悉,这看其来也很简单,但是对一个JSP项目来说,需要在很多地方嵌入JAVA代码,如果web设计者只会用HTML而不是Java,那他需要一些Java程序员的协助来修改<% ... %>中的java代码,另外这样还会给项目带来分工上的困难

    为了要解决这种问题,JSP提供了custom tags的机制,使一些tags看起来像是HTML,但实际上这些tags却连接了一些Java代码,比如一个java程序员写了一个显示人名的方法,使用<user:firstName>的tag来调用这个方法,这样一个页面的代码可能会象如下的样子:
<p>
    Dear <user:firstName/>,
</p>

JSTL:标准的tag
   不同的需要会使用不同的custom tags,比如一些用来遍历数据产生表格和列表,另一些用来访问数据库或者读取XML文件,一些JSP容器的厂商和开放源代码组织为一般的应用提供了很多tag,这些被成为tag libraries,比如说JRun提供了自己的tag libraries,Jakarta项目组也提供了用于XML处理、HTML表单生成、数据库访问的tag libraries,许多的开发者使用某种tag libraries,这种方法不是标准化的,比如当你项目迁移了应用平台,你以前所使用的tag library可能就无法再使用了,有的可能依赖于Jakarta的 Taglibs,有的依赖JRun的library。为了要解决这种分裂局面Java Community Process决定提供自己的标准tag library,JSTL 1.0是该标准的第一个版本,它支持以下基本任务:

遍历数据来产生表格,列表等
条件操作 (比如 当超过18岁时显示成人内容)
导入和处理其他web页的数据
简单的xml处理
数据库访问
文本格式和国际化
      在JSTL中最大的改变在于,它介绍了下一代的JSP:一种expression language,它将会取代JSP中传统的java表达式,比如表达式

<%= session.getAttribute("username").getFirstName() %>

将会改变为更为简单的形式:

${sessionScope.username.firstName}

这种JSP/JSTL的expression language将会使用比JavaScript更为简单的语法.
      expression language并不是通用语言,它是专门为JSP设计的,它的目的是使jsp可更简单的访问数据。该语言使页面通过scopes来访问数据信息,所谓scopes是jsp环境中定义的一些按不同的生命周期划分的一个集合数据。在图1中可以了解scope的含义expression language(一些细节仍在JCP的专家组中创建)最常使用的是request参数和cookie,JSP使你可以在scope中组织你的数据,比如一些全局的数据在整个application scope中,一些面对用户的数据在session中,实现所有这些数据的访问都不需要你写任何Java代码。

对程序员也有好处
虽然JSTL的主要听众是web开发者,但JSTL也同样为Java程序员带来一些东西,可以使Java程序员更容易的开发出自己的custom tags
,要开发custom tag,需要了解相应的API的用于管理生命周期的tag handlers(有关tag handlers的信息,请参阅JSP Tag Libraries ,by Shachor, Chace, and Rydin)

      JSTL提供了一系列的基类来帮助开发员开发自己的tags。比如如果你要实现一个iteration tag,你只要关心怎样去实现java.util.Iterator,你用不着关心如何处理类似doStartTag() 和 doAfterBody()用于处理tag-handler的方法。相应的,要实现一个conditional tag,只要简单的编写一个返回boolean的方法(这些在JSP Standard Tag Library的第4部分会有详细介绍,当然JSTL同样带来了很多易用的工具:对数据库访问的预编译tag、预测试tag、XML处理等等。
     了解了JSTL的起源,现在进入《JSTL IN ACTION》的学习探讨。。。

  评论这张
 
阅读(528)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017