Java学习(七)标准标签库JSTL

一、了解JSTL

1、什么是JSTL?

  

  JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。

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

二、使用条件

  jstl带来的优雅编程体验人所皆知,在java社区蒸蒸日上的今天使用jstl已无需考虑很多问题,我们可以用myeclipse等java集成开发环境轻松搭建一个jstl的web项目。即便有了myeclipse这么得力的工具帮我们快速开发web项目,但是有一些知识我们必须了解的 ---- 那就是jstl与servlet版本,以及jsp版本之间的依赖关系。

  以下列出jstl各个版本与jsp及servlet版本之间的依赖关系。

3、优点

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

  2、 简化了JSP和WEB应用程序的开发。

  3、 JSTL的引入可以让JSP代码中<%%>等代码消失掉,再结合EL表达式,会更加方便以及美观。

  4、各套框架(还没有学习,比如struts,SpringMVC等)都有自己的标签库,这时JSTL可以作为公共、通用的,横行于各框架中。

二、使用JSTL

1、下载

  登入官方网址:

    http://tomcat.apache.org/taglibs/

2、新建一个jsp页面

三、实例

1、需求分析

  1、  做一个固定资产的系统,里面实体类,业务逻辑(接口+实现类)+jsp显示所有信息。

  2、  由于没有数据库,所以在实现类模拟2条数据。

2、步骤

  1、  建立一个工程assets

  2、  先建立好4个包entity ,action,service,dao(本例用不上)

  3、  建立实体类(先写属性,然后添加get/set)

    FixedAssets.java

  4、  在service包建立service接口(业务逻辑)接口,有几个业务逻辑,就有几个方法

      FixedAssetsService.java

//显示所有资产
    public List<FixedAssets> getAllFixedAssets();

  5、  在service包建立service的实现类FixedAssetsServiceImpl.java

1 public List<FixedAssets> getAllFixedAssets() {
2         List<FixedAssets> fixedAssetsList = new ArrayList<FixedAssets>();
3         //fixedAssetsList.add( 具体的实体的实例 );
4         return fixedAssetsList;
5     }

  6、在action包中根据业务需要添加Servlet

    新建一个FixedAssetsServletGetAllInfo.java

           在doGet方法中写代码;

      a.  呼叫service

      b.  把结果集List放到request对象

      c.  跳转到jsp中

  7、 新建一个jsp

    a、  倒4个jstl的包

    b、  添加<%@ taglib prefix="c"…

    c、  写遍历结果集合的代码

      

      这段代码

    ${fixedAssetsList}直接取代

    <%@ page import="java.util.List" %>

    <%@ page import="entity.House" %>

    <%

    List<House> houseList = (List)request.getAttribute("houseList_label");

    %>

  其中本例中的${fixedAssetsList}

  其实它完整写法: ${requestScope.fixedAssetsList}

  原理EL表达式,可以直接取request范围内变量

  EL表达式,定义了多个隐式对象

四、各类标签

1、核心标签

2、格式化标签

3、SQL标签

4、XML标签

  在使用xml标签前,你必须将XML 和 XPath 的相关包拷贝至你的<Tomcat 安装目录>lib下:

5、JSTL函数

原文地址:https://www.cnblogs.com/Mingsnow/p/6891039.html