1.什么是JSTL

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

根据JSTL标签所提供的功能,可以将其分为5个类别。

  • 核心标签(core): 核心标签库,我们学习的重点;
  • 格式化标签 :只需要学习两个标签即可;
  • SQL 标签( sql):数据库标签库,不需要学习了,它过时了;
  • XML 标签: 不需要学习了,它过时了。
  • JSTL 函数: 主要定义对字符串操作的函数库,在EL表达式中运行。

2.JSTL包 下载

我推荐大家去apache下载

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

点击网址进入这个界面

选中[Standard],进入

下一步把这四个taglibs下载下来

下一步

3.使用taglib指令导入标签库:

除了JSP动作标签外,使用其他第三方的标签库都需要:

  • 导包;

  • 在使用标签的JSP页面中使用taglib指令导入标签库;
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

4、core标签库常用标签:

<c:out>:用于显示的标签

<c:set>:   用于赋值的标签

<c:remove>:用于删除的标签

<c:catch>:用于捕获异常的标签

<c:forEach>:用于循环遍历对象的标签

遍历List:

 <%
List<String> names = new ArrayList<String>();
names.add("zhangSan");
names.add("liSi");
names.add("wangWu");
names.add("zhaoLiu");
pageContext.setAttribute("ns", names);
%>
<c:forEach var="item" items="${ns }">
<c:out value="name: ${item }"/><br/>
</c:forEach>

5.代码比较

5.1没运用JSTL之前的代码

1.得先导入包

2.<%%>获取request的对象

分析:此界面不够整洁,不利于前端工作者对界面的美化,我们的目的是能使前端工作者专注于界面的美化,不受后端代码干扰

5.2运用JSTL之后的代码

总结

1.不用导入包

${table_1}直接取代

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

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

<%List<House> houseList = (List)request.getAttribute("table_1");%>。

其中本例中的${table_1}

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

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

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

5.3关键代码分析

6.JSTL代码对view层的格式化

在我们通过.jsp文件把数据显示出来的时候,数据应该被处理过了。即我们打开页面看到的数据与数据存储在数据库的形态是不同的。

我们看到的处理过的数据

保存在数据库的数据

两个数据是一样的,但存在很大差别。

6.1格式化数据(Format)

6.1.1 引入该标签库的方法:

<%@ taglib prefix="fmt" uri="http://Java.sun.com/jsp/jstl/fmt" %>

6.1.2 标签种类

1)数字日期格式化。formatNumber标签、formatData标签、parseNumber标签、parseDate标签、timeZone标签、setTimeZone标签。

2)读取消息资源。bundle标签、message标签、setBundle标签。

3)国际化。setlocale标签、requestEncoding标签。

6.1.3 代码实现

 <c:forEach items="${fixedAssetsList}" var="fa">
<tr bgcolor="#FFFFFF">
<td>${fa.id}</td>
<td>${fa.name}</td>
<td>
<fmt:formatNumber type="currency">${fa.money}</fmt:formatNumber>
</td>
<td>
<fmt:formatDate value="${fa.startUseTime}" pattern="yyyy年MM月dd日hh:mm:ss"></fmt:formatDate>
</td>
</tr>
</c:forEach>

view层应对各种数学按照一定格式包装,其中fmt就提供了很大的便利,

最常见的就是对数字(formatNumber)和日期(formatData)的包装

谢谢你们这么帅,还能抽空来看我的随笔!本人初学Java,欢迎指点和提问。

java_web学习(五) JSTL标准标签库的更多相关文章

  1. Java Web之JSTL标准标签库总结

    [文档整理系列] Java Web之JSTL标准标签库总结

  2. EL表达式和JSTL标准标签库

    一.EL表达式 什么是EL表达式 EL(Express Lanuage)表达式可以嵌入在jsp页面内部 减少jsp脚本的编写 EL出现的目的是要替代jsp页面中脚本的编写. EL表达式的作用 EL最主 ...

  3. EL表达式 与 JSTL标准标签库

    目录 EL表达式 什么是EL表达式 作用 EL内置11对象 EL执行表达式 JSTL 什么是JSTL JSTL标准标签库有5个子库 把JSTL标签库jar包引入工程当中 if标签 foreach标签 ...

  4. JSTL 标准标签库 (JavaServer Pages Standard Tag library, JSTL)

    JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个定制标签库的集合,用来解决 像遍历Map或集合.条件测试.XML处理,甚至数据 库访问和数 ...

  5. JSTL标准标签库具体解释

    JSTL标签库的使用是为类弥补html表的不足.规范自己定义标签的使用而诞生的. 在告别modle1模式开发应用程序后.人们開始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同一时候也 ...

  6. jstl标准标签库 常用标签

    JSTL(JSP Standard Tag Library)标准标签库: 1, 核心标签(最常用, 最重要的) 表达式控制标签 out 输出常量 value---直接赋值 输出变量 default-- ...

  7. Javaweb--- EL表达式 JSTL标准标签库

    一.EL表达式(expression language): 语法  ${...} jsp中page指令有一个属性叫isELIgnored, 用来标记此页面是否忽略EL表达式, 默认为false 举个例 ...

  8. JSTL标准标签库

    有时使用EL和标准动作达不到目的,于是就引入定制标记. 对于JSP页面创作人员来说,定制标记使用起来比脚本要容易一些.不过对于JAVA程序员来说,简历定制标记处理器反而更困难.幸运的是,已经有了一个标 ...

  9. [06] JSTL标准标签库

    1.JSTL概述 之前在<[03-01] JSP自定义标签>中已经说明了自定义标签的概况,而JSTL也是一套标签库,不过是厂商已经定义好的标签库,我们不再需要自行进行定制,直接使用即可. ...

随机推荐

  1. MQTT 简介

    MQTT 全称是 Message Queue Telemetry Transport,是一个轻量级的“发布/订阅”消息传输协议. 官网 http://mqtt.org/ 发布/订阅 MQTT 的基本概 ...

  2. python中的subprocess.Popen()使用

    python中的subprocess.Popen()使用 从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回 ...

  3. CS:APP3e 深入理解计算机系统_3e ShellLab(tsh)实验

    详细的题目要求和资源可以到 http://csapp.cs.cmu.edu/3e/labs.html 或者 http://www.cs.cmu.edu/~./213/schedule.html 获取. ...

  4. spring -boot s-tarter 详解

    Starter POMs是可以包含到应用中的一个方便的依赖关系描述符集合.你可以获取所有Spring及相关技术的一站式服务,而不需要翻阅示例代码,拷贝粘贴大量的依赖描述符.例如,如果你想使用Sprin ...

  5. Cannot open url. please check this url is correct

    启动tomcat报错如下 任务管理器 kill 掉所有java进程,在配置中选中After launch选项 要是还是不行,那就无解,只能重启电脑.

  6. 【ANT】一个简单的ANT生成文件build.xml

    <?xml version="1.0" ?> <project default="test"> <target name=&quo ...

  7. Java思维导图之Class对象

    Class对象相关知识导图: 导图源文件保存地址:https://github.com/wanghaoxi3000/xmind

  8. SQL Server 服务器主体拥有一个或多个端点无法删除;错误15141

    一.问题描述 当前数据库实例之前已经加入过一个域环境同时也是alwayson集群的一个副本,现在已经退出了以前的域加入一个新域,而且配置的数据库启动服务的域用户和密码和之前的一样.重新使用之前已经存在 ...

  9. [array] leetcode - 53. Maximum Subarray - Easy

    leetcode - 53. Maximum Subarray - Easy descrition Find the contiguous subarray within an array (cont ...

  10. lua 批量重命名文件

    local s = io.popen("dir F:\\headicon /b/s") local filelist = s:read("*all") loca ...