java_web学习(五) JSTL标准标签库
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标准标签库的更多相关文章
- Java Web之JSTL标准标签库总结
[文档整理系列] Java Web之JSTL标准标签库总结
- EL表达式和JSTL标准标签库
一.EL表达式 什么是EL表达式 EL(Express Lanuage)表达式可以嵌入在jsp页面内部 减少jsp脚本的编写 EL出现的目的是要替代jsp页面中脚本的编写. EL表达式的作用 EL最主 ...
- EL表达式 与 JSTL标准标签库
目录 EL表达式 什么是EL表达式 作用 EL内置11对象 EL执行表达式 JSTL 什么是JSTL JSTL标准标签库有5个子库 把JSTL标签库jar包引入工程当中 if标签 foreach标签 ...
- JSTL 标准标签库 (JavaServer Pages Standard Tag library, JSTL)
JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个定制标签库的集合,用来解决 像遍历Map或集合.条件测试.XML处理,甚至数据 库访问和数 ...
- JSTL标准标签库具体解释
JSTL标签库的使用是为类弥补html表的不足.规范自己定义标签的使用而诞生的. 在告别modle1模式开发应用程序后.人们開始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同一时候也 ...
- jstl标准标签库 常用标签
JSTL(JSP Standard Tag Library)标准标签库: 1, 核心标签(最常用, 最重要的) 表达式控制标签 out 输出常量 value---直接赋值 输出变量 default-- ...
- Javaweb--- EL表达式 JSTL标准标签库
一.EL表达式(expression language): 语法 ${...} jsp中page指令有一个属性叫isELIgnored, 用来标记此页面是否忽略EL表达式, 默认为false 举个例 ...
- JSTL标准标签库
有时使用EL和标准动作达不到目的,于是就引入定制标记. 对于JSP页面创作人员来说,定制标记使用起来比脚本要容易一些.不过对于JAVA程序员来说,简历定制标记处理器反而更困难.幸运的是,已经有了一个标 ...
- [06] JSTL标准标签库
1.JSTL概述 之前在<[03-01] JSP自定义标签>中已经说明了自定义标签的概况,而JSTL也是一套标签库,不过是厂商已经定义好的标签库,我们不再需要自行进行定制,直接使用即可. ...
随机推荐
- Linux企业运维人员必备150个命令汇总
命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) l ...
- Grafana4.2安装
一.文件准备 1.1 文件名称 grafana-4.2.0-1.x86_64.rpm 1.2 下载地址 https://grafana.com/grafana/download 二.工具准备 2.1 ...
- springboot整合mq接收消息队列
继上篇springboot整合mq发送消息队列 本篇主要在上篇基础上进行activiemq消息队列的接收springboot整合mq发送消息队列 第一步:新建marven项目,配置pom文件 < ...
- 合并查询结果集UNION(去重), UNION ALL(不去重),INTERSECT(交集),MINUS(差集,第一个结果集减去第二个结果集,第一个结果集中不在第二个结果集中的记录行),[NOT] EXIST
MINUS配合[NOT] EXIST使用可以查询出包含符合某个条件的多记录的其他记录, 举例: 顾客A买了商品2.4.6 顾客B买了商品1.2.4 顾客C买了商品4.6 顾客D买了商品1.2.4.6 ...
- iOS 类似2048、4096小游戏-OC
大概思路(初步制作,粗工制造):demo 1.Collection 创建cell 2.cell上添加一个view,用来添加手势 3.字典用来存放数据->每次执行StarGame数组接收没有数字的 ...
- cocoapods安装说明,最快安装,以及使用
安装卸载更新新推荐 文章最后 其他问题总结: 1 添加taobao提供的镜像地址:http://ruby.taobao.org/ 移除命令:gem sources --remove https://r ...
- DeepLearning.ai学习笔记(三)结构化机器学习项目--week2机器学习策略(2)
一.进行误差分析 很多时候我们发现训练出来的模型有误差后,就会一股脑的想着法子去减少误差.想法固然好,但是有点headlong~ 这节视频中吴大大介绍了一个比较科学的方法,具体的看下面的例子 还是以猫 ...
- dropout理解:1神带9坑
Dropout是深度学习中防止过拟合的一项非常常见的技术,是hinton大神在12年提出的一篇论文里所采用的方法.有传言hinton大神的数学功底不是很好,所以他所提出的想法背后的数学原理并不是很复杂 ...
- 606. Construct String from Binary Tree
You need to construct a string consists of parenthesis and integers from a binary tree with the preo ...
- python访问http的GET/POST
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7562295.html 作者:窗户 Q ...