JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。

背景


JSP诞生之初,JSP提供了在HTML代码中嵌入Java代码的特性,这使得开发者可以利用Java语言的优势来完成许多复杂的业务逻辑。但是,随后开发者发现在HTML代码中嵌入过多的Java代码,程序员对于动辄上千行的JSP代码基本丧失了维护能力,非常不利于JSP的维护和扩展。基于上述的这个问题,开发者尝试着使用一种新的技术来解决上面这些问题。因此,从JSP1.1规范后,JSP增加了自定义标签库的支持,提供了Java脚本的复用性,提高了开发者的开发效率。

JSTL是SUN公司发布的一个针对JSP开发的新组件。JSTL允许用户使用标签(Tags)来进行JSP页面开发,而不是使用传统的JSP脚本代码方式开发。JSTL几乎能够做到传统JSP脚本代码能做的任何事情 。

主要组成 


STL包含了和以下操作相关的标签:

1、核心标签:核心标签库是整个JSTL中最常用的部分,主要由以下几部分组成:基本输入输出、流程控制、迭代操作和URL操作。负责Web应用的常见工作,如:循环、表达式赋值、基本输入输出等。

2、I18N格式标签库:用来格式化显示数据的工作如:对不同区域的日期格式化等。

3、XML标签库:用来访问XML文件的工作,支持JSP对XML文档的处理。

4、数据库标签库:SQL标签库包括了大部分访问数据库的逻辑操作,包括查询、更新、事务处理、设置数据源等。可以做访问数据库的工作。

5、函数标签库:用来读取已经定义的某个函数。 

JSTL的优点

1、简化了JSP和Web应用程序的开发。

2、在应用程序服务器之间提供了一致的接口,最大限度地提高了·Web应用在各应用服务器之间的移植。

3、允许JSP设计工具与Web应用程序开发的进一步集成。相信不久就会有支持JSTL的IDE开发工具出现。

4、以一种统一的方式减少了JSP中的Scriptlets代码数量,可以达到程序中没有任何Scriptlest代码。

JSTL封装了JSP开发中的常用功能。比如说,在没有JSTL时,通过Scriptlets来迭代输出某个List(Set),有了JSTL,就可以使用它的一系列的Tag进行迭代输出。由于JSTL是JSP2.0规范的一部分,所以最新的Web容器都会支持它 。

JSTL的使用条件()

在JSP中使用JSTL标签需要具备如下两个条件。

条件一:要在JSP页面中使用JSTL标签,需使用taglib指令引用标签库

条件二:要在JSP中使用JSTL标签,还需要下载安装JSTL实现(Implementation)。

JSTL1.2实现的下载地址为:https:jstl.dev.java.net,下载文件为jstl-impl-1.2.jar,将该文件复制到Web应用程序的WEB-INFlib文件夹中即可使用JSTL。

JSTL1.0实现的下载地址为:http://www.apache.org/dist/jakarta/taglibs/standard/,Windows用户下载jakarta-taglibs-standard-current.zip。下载后解压,在lib文件夹中有两个文件:

·jstl.jar;

·standard.jar.

将这两个文件复制到Web应用程序的WEB-INFlib文件夹中即可使用JSTL 。

(引用自夏帮贵编著.Java Web开发完全掌握[M].北京:中国铁道出版社,2011.07)


JSTL的标签库简介 

javascript 实现tcp通讯 js tcp协议_标签库

<!-- JSTL标签库 -->
<dependency>
  <groupId>javax.servlet.jsp.jstl</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>
<dependency>
  <groupId>javax.servlet.jsp.jstl</groupId>
  <artifactId>jstl-api</artifactId>
  <version>1.2</version>
</dependency>
<dependency>
  <groupId>org.glassfish.web</groupId>
  <artifactId>jstl-impl</artifactId>
  <version>1.2</version>
</dependency>
<dependency>
  <groupId>taglibs</groupId>
  <artifactId>standard</artifactId>
  <version>1.1.2</version>
</dependency>