一、JSTL是SUN公司制定的一个JSP标签库,由apache jakarta组织负责维护的开源项目,目的是用标签代替java代码片段。JSTL 1.0 由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。

  1)、core: 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。它还提供了用来生成和操作 URL 的标记。

  2)、format: 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。

  3)、xml: 库包含一些标记,这些标记用来操作通过 XML 表示的数据,

   4)、sql :库定义了用来查询关系数据库的操作。

二:Core:又被称为核心标签库(就是通常说的c标签),该标签库的工作是对于 JSP 页面一般处理的封装。包含以下标签 
  多用途核心标签:<c:out> 、<c:set> 、<c:remove> 、<c:catch> 。 
  条件控制标签:<c:if> 、<c:choose> 、<c:when> 、<c:otherwise> 。 
  循环控制标签:<c:forEach> 、<c:forTokens> 。 
  URL 相关标签:<c:import> 、<c:url> 、<c:redirect> 、<c:param> 。

三、Core标签的引入:myeclipse集成了jstl,所以只需要在jsp页面头部将标签库引入就可以使用jstl的core标签库

  a)、在Jsp页面引入jstl标签库(prefix的名字课题任意的取,但一般都取为c):

 <%@ taglib prefix="c" uri=""  %>

  b)、查询uri的值:在Java EE 6 Libraries/jstl-impl.jar/META-INF/c.tld文件中找到uri的值:

  c)、上图中的uri的值复制到taglib标签中的uri中即可使用c标签库了:

 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
The book name is ${bookName} ;<br>
<!-- el表达式执行基本的逻辑运算 -->
${1+2 }<br/>
${5 < 7 }<br/>
${5<7 && 4 >6 }<br/>
${5<7 || 4 >6 }<br/>
<!-- 获取数组 -->
${arr[0] }<br/>
${arr[1] }<br/>
${arr[2] }<br/>
${arr[3] }<br/>
${arr[5] }<br/>
${list[0]}<br> <!-- list集合可以用下标读出来 -->
<!-- 获取数组 -->
${list[1]}<br>
${list[2]}<br>
${list[3]}<br>
${list[4]}<br>
${list[5]}<br>
<!-- 获取Map -->
${map["key1"] } == ${map.key1 }<br/>
${map.key2 }<br/>
C 标签的 forEach 用法 类似于增强for循环 <br/>
<c:forEach var="list" items="${list}">
${list}<br/>
</c:forEach>
<c:forEach var="v" items="${map }">
<!-- 遍历Map时,通过key获取对应的键,通过value获取对应的值 -->
${v.key }====${v.value }<br/>
</c:forEach>
<c:if test="${bookName == 'chenzejun' }">
The book name is ${bookName} ;<br>
</c:if>
<c:out value="${bookName}" /><br>
<!--
c:set相当于设置一个变量,但只在本页面有效
-->
<c:set var="temp" value="jsk" />
${temp} <br>
</body>
</html>

10、jstl标签库的更多相关文章

  1. Java Web程序设计笔记 • 【第10章 JSTL标签库】

    全部章节   >>>> 本章目录 10.1 JSTL 概述 10.1.1 JSTL 简介 10.1.1 JSTL 使用 10.1.2 实践练习 10.2 核心标签库 10.2. ...

  2. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  3. JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  4. jstl标签库基础教程及其使用代码(一)。

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

  5. jstl标签库基础教程及其使用代码

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

  6. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...

  7. JSTL标签库大全

    JSTL简介: 标准标签库JSTL的全名为:Java Server Pages Standard Tag Library. JSTL主要提供了5大类标签库: 1.       核心标签库: 为日常任务 ...

  8. javaweb学习总结(二十八)——JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  9. 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

    学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签.  jsp标签的分 ...

随机推荐

  1. Windows Server(r12) - 配置 MySQL 远程访问

    Windows Server(r12) - 配置 MySQL 远程访问 工作主要为两部分, 一部分是 Windows 防火墙, 一部分是 MySQL 自身 Windows 端口远程访问 其实就是在 W ...

  2. 一键安装Cloud Torrent

    wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/cloudt.sh ...

  3. 【Linux基础】Linux命令date 日期时间

    1.显示到纳秒 date +%F.%H:%M:%S.%N --:38.740127086 date +%Y-%m-%d.%H:%M:%S.%N2019-04-25.00:28:24.060756673 ...

  4. js 秒数格式化

    function formatSeconds(value) { var theTime = parseInt(value);// 秒 var theTime1 = 0;// 分 var theTime ...

  5. 001_python实现数据分析

    一. # coding:utf8 # !/usr/bin/python # import numpy as np import pandas as pd import np def example2( ...

  6. 利用Python爬取网页图片

    最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 我们这里以sogou作为爬取的对象. 首先我们进入搜狗图片 ...

  7. 挥舞的手臂(mixly+二次开发)

    从vb6到vb.net,一路c#, java, python, nn, c,对技术的切换早已经没有害怕的感觉了,一直有的是技术的热情和我所认为的技术信仰. 扯完,开始正文. 看看效果图: 使用的是Ar ...

  8. HashMap、Hashtable、ConcurrentHashMap的原理与区别

    同步首发:http://www.yuanrengu.com/index.php/2017-01-17.html 如果你去面试,面试官不问你这个问题,你来找我^_^ 下面直接来干货,先说这三个Map的区 ...

  9. Docker 核心技术之数据管理

    Docker 数据卷简介 为什么用数据卷 宿主机无法直接访问容器中的文件 容器中的文件没有持久化,导致容器删除后,文件数据也随之消失 容器之间也无法直接访问互相的文件 为解决这些问题,docker加入 ...

  10. Java NIO技术总结

    一.背景 大家都知道Java BIO,其全称是java blocking IO,相对的Java NIO 全称为java non-blocking IO.顾名思义,java nio 是一种非阻塞IO.N ...