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. Python笔记·第九章—— 函数 (一)

    一.函数的作用 函数可以让我们代码结构更清晰,而且避免了代码的重复,冗余,使一段代码或者功能可以反复的被调用,大大提高了开发效率 二.函数的定义 def 函数名(参数1,参数2,*args,默认参数, ...

  2. ViewPager+Fragment 懒加载

    转载于: 作者:尹star链接:http://www.jianshu.com/p/c5d29a0c3f4c來源:简书   ViewPager+Fragment的模式再常见不过了,以国民应用微信为例,假 ...

  3. 【十八】php文件下载源码

    index.php <!DOCTYPE html> <html> <head> <title></title> <meta chars ...

  4. 使用Node.js搭建一个本地服务器

    let http = require('http'); //创建一个http let server = http.createServer((request,response)=>{ //创建一 ...

  5. OC学习12——字符串、日期、日历

    前面主要学习了OC的基础知识,接下来将主要学习Foundation框架的一些常用类的常用方法.Foubdation框架是Cocoa编程.IOS编程的基础框架,包括代表字符串的NSString(代表字符 ...

  6. Jrebel简单的热部署一个web工程

    前言:博主最近在做Hybris开发,漫长的启动时间大大的拖累了项目的进度,而Jrebel的出现就是为了减少项目重启的时间或者说修改了代码后直接不用重启就可以看到修改的结果,但是Hybris的部署一直没 ...

  7. python的属性(property)使用

    在面向对象编程的时候,我们定义一个Person类 class Person: def __init__(self): self.age = 22 这样写法能够方便的访问属性age, p = Perso ...

  8. jsDOM编程-乌龟抓小鸡游戏

    <html> <head>  <title>js乌龟抓小鸡游戏 </title>    <meta http-equiv="conten ...

  9. which 命令详解

    一.which 作用: which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录, which 命令会在环境变量$PATH 设置的目录里查找符合条件的文件.也 ...

  10. HTML基本功之文档结构

    项目名 首页 命名为 index.html 样式文件夹 命名为 css  /*用来放样式文件*/ base.css  /*基本样式*/ index.css /*首页样式*/ global.css /* ...