10、jstl标签库
一、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标签库的更多相关文章
- Java Web程序设计笔记 • 【第10章 JSTL标签库】
全部章节 >>>> 本章目录 10.1 JSTL 概述 10.1.1 JSTL 简介 10.1.1 JSTL 使用 10.1.2 实践练习 10.2 核心标签库 10.2. ...
- 重温JSP学习笔记--JSTL标签库
以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...
- JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- jstl标签库基础教程及其使用代码(一)。
概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...
- jstl标签库基础教程及其使用代码
概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...
- JSTL标签库大全
JSTL简介: 标准标签库JSTL的全名为:Java Server Pages Standard Tag Library. JSTL主要提供了5大类标签库: 1. 核心标签库: 为日常任务 ...
- javaweb学习总结(二十八)——JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签
学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签. jsp标签的分 ...
随机推荐
- Windows Server(r12) - 配置 MySQL 远程访问
Windows Server(r12) - 配置 MySQL 远程访问 工作主要为两部分, 一部分是 Windows 防火墙, 一部分是 MySQL 自身 Windows 端口远程访问 其实就是在 W ...
- 一键安装Cloud Torrent
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/cloudt.sh ...
- 【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 ...
- js 秒数格式化
function formatSeconds(value) { var theTime = parseInt(value);// 秒 var theTime1 = 0;// 分 var theTime ...
- 001_python实现数据分析
一. # coding:utf8 # !/usr/bin/python # import numpy as np import pandas as pd import np def example2( ...
- 利用Python爬取网页图片
最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 我们这里以sogou作为爬取的对象. 首先我们进入搜狗图片 ...
- 挥舞的手臂(mixly+二次开发)
从vb6到vb.net,一路c#, java, python, nn, c,对技术的切换早已经没有害怕的感觉了,一直有的是技术的热情和我所认为的技术信仰. 扯完,开始正文. 看看效果图: 使用的是Ar ...
- HashMap、Hashtable、ConcurrentHashMap的原理与区别
同步首发:http://www.yuanrengu.com/index.php/2017-01-17.html 如果你去面试,面试官不问你这个问题,你来找我^_^ 下面直接来干货,先说这三个Map的区 ...
- Docker 核心技术之数据管理
Docker 数据卷简介 为什么用数据卷 宿主机无法直接访问容器中的文件 容器中的文件没有持久化,导致容器删除后,文件数据也随之消失 容器之间也无法直接访问互相的文件 为解决这些问题,docker加入 ...
- Java NIO技术总结
一.背景 大家都知道Java BIO,其全称是java blocking IO,相对的Java NIO 全称为java non-blocking IO.顾名思义,java nio 是一种非阻塞IO.N ...