一、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. mysql 高级

    Sql优化: 1.SELECT语句中避免使用 *, 尽量根据业务需求按字段进行查询 举例:如果表中有个字段用的是clob或者是blob这种大数据字段的话, 他们的查询应该根据业务需要来进行指定字段的查 ...

  2. Diagnostics: File file:/tmp/spark-95cbb984-da28-4784-8b99-eb83ad74437f/__spark_libs__1421840316395076250.zip does not exist

    搭建spark环境,测试在yarn 上运行spark shell的时候出现的错误:Diagnostics: File file:/tmp/spark-95cbb984-da28-4784-8b99-e ...

  3. Golang mysql 上线的一个坑 Db.close重要性

    急冲冲完成的mysql的一个监控自动处理程序上线了,线下处理是正常的,没想到线上才半小时就奔溃了. 现在时间是晚上11点,心慌焦虑涌上心头,需要熬夜?肾上腺素激增. 程序主要是一个定时任务的处理程序, ...

  4. 用java命令重新签名apk

    apk简介 APK是AndroidPackage的缩写,即Android安装包(apk).APK是类似Symbian Sis或Sisx的文件格式.通过将APK文件直接传到Android模拟器或Andr ...

  5. UltraEdit文本行数多变一和一边多

    一.UltraEdit文本行数多行转换成一行 1.文本样式内容 1.qwertyuuiopqwertyuuiopqwertyuuiopqwertyuuiopqwertyuuiopqwertyuuiop ...

  6. [题解]N 皇后问题总结

    N 皇后问题(queen.cpp) [题目描述] 在 N*N 的棋盘上放置 N 个皇后(n<=10)而彼此不受攻击(即在棋盘的任一行,任一列和任一对角线上不能放置 2 个皇后) ,编程求解所有的 ...

  7. windows系统下的特殊目录导致的FileNotFoundException

    环境:下面只有JDK(内含jre),没有外在的jre 读取的两个文件都是存在的,只是文件名不同 运行结果1 运行结果2 切换JDK 运行结果3: 运行结果4: 请留意:C:\windows\syste ...

  8. scrollbar样式设置

    转载:https://segmentfault.com/a/1190000012800450?utm_source=tag-newest author:specialCoder 一 前言 在CSS 中 ...

  9. 用标准3层神经网络实现MNIST识别

    一.MINIST数据集下载 1.https://pjreddie.com/projects/mnist-in-csv/      此网站提供了mnist_train.csv和mnist_test.cs ...

  10. Python2和Python3安装教程

    当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用) python成了2.7而py成了3.7,呵呵! 当同时安装Python2和Python3后,如何兼容并切换使用详解 ...