eclipse jstl包_我的Java Web之路41 - JSTL初步使用

本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人。

目录

  1. 介绍
  2. JSTL规范下载
  3. JSTL包含哪些库
  4. JSTL如何使用
  5. 租房网应用中使用JSTL
  6. JSTL相关的JAR包
  7. EL表达式访问列表的长度
  8. JSTL的forEach标签
  9. 剩下的页面改造
  10. 总结

介绍

上篇文章我们使用JSP技术对租房网平台进行了改造,也提到下面这样的代码有点奇葩:

">

像这样的代码我们可以使用JSTL技术来解决。当然,JSTL可不仅仅只有这点功能,你还可以定义自己的标签。

在这篇文章里,我提到过JSTL是JSP相关的技术,从它的名字全称(JSP Standard Tag Library,即JSP标准标签库)就可以看出来。

在本篇文章里,我们就尝试初步使用JSTL来进一步改造我们的租房网应用。

JSTL规范下载

既然称之为库,那么它包含哪些库呢?

我们可以把JSTL规范下载下来看一下,当然你也可以找本相关书籍,或者直接在网上搜索一下。

JSTL规范的下载类似Servlet规范的下载(可以参考这篇文章),不过我们在JCP官网(https://jcp.org/en/home/index)中搜索的关键字就变成Tag或Tag Library了。

我们在搜索结果中就可以看到:

5f72e387034bc9b7d1eb0b4cb98546f0.png

点击 Download page 链接可以看到:

e15419fe052480d3d4a730e12bfb7a6d.png

然后继续点击底部的 Maintenance Review 2 of JSR 52 链接,跳转到:

3dfd8036f81a50d396c6556b55f84775.png

不过,再次点击DOWNLOAD按钮时,我这边出现无法访问此网站的错误。所以我转而点击底部的 JSR-000052 A Standard Tag Library for JavaServer Pages Detail Page 链接:

a3bc5052a39016734f5792cbddb7d916.png

从这里我们可以看到JSTL规范的各个阶段,我们选择 Maintenance Release 2 这个阶段,点击它右边的 Download page 链接:

6a62013bf594403a864837892686f24d.png

然后再点击红色箭头所指的链接,跳转到真正的下载页面:

98f9f03e0eceb8c8d0f5ac6743ea4ce5.png

后续操作就跟Servlet规范的下载类似了。

JSTL包含哪些库

现在,我们可以打开JSTL规范,可以看到如下描述:

9f5c475010d378fdfe223bc1dcac0aa0.png

事实上,JSTL应该就只是一个库,但它根据不同功能而划分成了多个库:

  • 核心:变量支持、流控制、URL管理等等,它的命名空间URI是:http://java.sun.com/jsp/jstl/core,标签前缀通常使用:c
  • XML处理:它的命名空间URI是:http://java.sun.com/jsp/jstl/xml,标签前缀通常使用:x
  • 国际化:语言区域、消息格式化、数字和日期格式化等,它的命名空间URI是:http://java.sun.com/jsp/jstl/fmt,标签前缀通常使用:fmt
  • 数据库访问(SQL):它的命名空间URI是:http://java.sun.com/jsp/jstl/sql,标签前缀通常使用:sql
  • 函数:集合长度、字符串操作等,它的命名空间URI是:http://java.sun.com/jsp/jstl/functions,标签前缀通常使用:fn

JSTL如何使用

JSTL的终极目标是简化JSP页面的开发,所以,它应该是在JSP页面中使用。

既然是标签,那它的使用是否跟HTML标签、XML标签类似呢?答案是肯定的。

不过,JSTL标签的使用与XML标签使用时声明命名空间类似,也需要告诉Servlet/JSP容器该JSP页面需要引入某个库(即上述的核心、XML处理、国际化、数据库访问、函数等等,以及以后自定义的标签)。

在JSP页面中是使用一个JSP指令(即taglib指令,之前我们用过page指令)来声明的:

举个例子,假设我们要使用JSTL的核心库,则应该在JSP页面的开头处这样声明:

然后,就可以使用核心库的标签,比如out标签:

 default value

注意:在标签的语法中,[]表示可选的属性。如果值带下划线,则表示为默认值。

out标签有两种形式,有属性和属性值,也可能有标签内容,跟HTML标签和XML标签类似。

租房网应用中使用JSTL

我们就拿租房网应用中的房源列表页面houses.jsp来使用JSTL改造,因为这里涉及列表数据的展示。

列表数据是很常见的,我们经常可以看到包含列表数据的页面,比如订单列表、商品列表等等。

houses.jsp原来的代码是这样的:

 mockHouses = (List) request.getAttribute("mockHouses");System.out.println(mockHouses);%>
共找到你感兴趣的房源 条

">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>