不可理喻的JSTL标签库
JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库。
Web 程序开发人员能够利用JSTL和EL来开发Web 程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序可读性、维护性和方便性。
JSTL是一个标准的已制定好的标签库,可以应用于各种领域,如:基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等。JSTL所提供的标签函数库主要分为五大类:
(1)核心标签库 (Core tag library)
(2)I18N 格式标签库 (I18N-capable formatting tag library)
(3)SQL 标签库 (SQL tag library)
(4)XML 标签库 (XML tag library)
(5)函数标签库 (Functions tag library)
1, 向页面输出内容
<c:out></c:>
共3个参数:
value, 显示输出的内容, 与对象相关时要结合EL表达式
escapeXml, 只有"true","false"两个值, 表示是否转换字符
| 字符 | 字符实体代码 | 字符 | 字符实体代码 |
| < | < | > | > |
| ' | ' | " | " |
| & | & |
default, 可选属性, 当value值为null或者""时显示的内容
2, 在指定的范围内保存某个变量或者某个对象的某个属性值
<c:set></c:set>
共5个参数:
var, 指定变量名
value, 指定变量的值
scope, 用于变量的作用域(page|request|session|application)
target, 用于指定一个目标对象, 比如JavaBean
property, 用于指定对象内某个属性值
当指定为一个对象的时候, 这里用一个JavaBean作为实例:
<jsp:useBean class="com.hanqi.dao.USER" id="user" />
<c:set target="${user}" property="userID" value="测试用户的ID"></c:set>
<c:out value="${user.userID}" ></c:out><br>
<c:out value="${user.getUserID()}" ></c:out>
private String UserID;
public String getUserID() {
return UserID;
}
public void setUserID(String UID) {
this.UserID = UID;
}
用来指定目标对象只能用target, 并且后面必须使用EL表达式, property后面的值为这个JavaBean内的实体类的属性名, 即set方法后面的部分(代码中的标红部分), 并且首字母小写,
输出的时候可以有两种方法, 可以调用get方法, 后者直接调用属性名
3, 移除变量标签
<c:remove></c:remove>
共2个参数:
var, 用于指定要移除的变量名
scope, 指定变量的有效范围(page|request|session|application)
<%
request.setAttribute("a", "这是request的测试内容");
%>
<c:remove var="a" scope="request"></c:remove>
<c:out value="${requestScope.a}" default="变量被移除了"></c:out>
页面输出结果为: 变量被移除了
需要注意的是: 如果被移除的变量不存在, 整个代码也不会报错, 如果不指定范围的话, 将会移除所有符合这个变量名的变量
4, 捕获异常标签
<c:catch></c:catch>
共1个参数:
var, 用于指定储存异常信息的变量, 可以用<c:out></c:out>做一下输出
<c:catch var="error">
<jsp:useBean class="com.hanqi.dao.USER" id="user" />
<c:set target="${user}" property="userID" value="测试用户的ID"></c:set>
<c:out value="${user.getUserID()}" ></c:out>
</c:catch>
<c:out value="${error}" />
当代码中存在异常的时候会输出异常信息
不可理喻的JSTL标签库的更多相关文章
- 重温JSP学习笔记--JSTL标签库
以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...
- 简单实用JSTL标签库
1. JSTL标签库是一个什么东东? 简单来说,有了它你就可以在类似HTML的JSP页面里面运用一些高级语法,实现迭代.条件判断.XML文档操作.国际化标签.SQL标签. 2. 如何使用 ? 参考网址 ...
- JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- 自定义jstl标签库
开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...
- JSTL标签库中<c:choose></c:choose>不能放JSP页面<!-- -->注释
笔者最近在使用JSTL标签库的<c:choose>标签时候,发现在该标签体中加了JSP的<!-- -->注释时,总是会显示报错信息.错误的信息如下: <span styl ...
- jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门
一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...
- jstl标签库基础教程及其使用代码(一)。
概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...
- Struts、JSTL标签库的基本使用方法
一 使用Struts标签之前需要经过下面3个步骤的配置. 1.导入TLD文件. 2.在web.xml中注册标签库. 3.在页面中引入标签库. 下面详细介绍以上步骤. 1 导入TLD文件. TLD文件是 ...
随机推荐
- Terminal shortcuts
<backspace> 删除 <ctrl+l> 清空屏幕, 相当于clear <ctrl+e> 光标跳至命令结尾 <ctrl+a> 光标跳至命令开始 & ...
- Ethereum以太网搭建本地开放环境简明教程
引言: 区块链技术的风起云涌预示着一个去中心化时代的来临,ethereum技术栈是目前业界最为应用广泛的基于区块链技术的技术方案,本文将记录如何基于本地环境来搭建私有区块链的开发环境. 部署私有区块链 ...
- rancher下的kubernetes之二:安装rancher和kubernetes
在上一章<rancher下的kubernetes之一:构建标准化vmware镜像>,我们做了个通用的虚拟机镜像,可以root登录,apt已经更新,docker也装好了,现在我们就来安装ra ...
- BZOJ4644: 经典傻逼题【线段树分治】【线性基】
Description 这是一道经典傻逼题,对经典题很熟悉的人也不要激动,希望大家不要傻逼. 考虑一张N个点的带权无向图,点的编号为1到N. 对于图中的任意一个点集 (可以为空或者全集),所有恰好有一 ...
- .NET/C# 使用反射注册事件
使用反射,我们可以很容易地在运行时调用一些编译时无法确定的属性.方法等.那么如何注册事件呢? 本文将介绍如何使用反射注册事件. 本文内容 不使用反射 使用反射 安全地使用反射 参考资料 不使用反射 例 ...
- Python协程 Gevent Eventlet Greenlet
https://zh.wikipedia.org/zh-cn/%E5%8D%8F%E7%A8%8B 协程可以理解为线程中的微线程,通过手动挂起函数的执行状态,在合适的时机再次激活继续运行,而不需要上下 ...
- 浅谈 Gevent 与 Tornado(转)
原文:http://www.pywave.com/2012/08/17/about-gevent-and-tornado/ 还是前几月的时候,几乎在同一时间,自己接触到了 Gevent 和 Torna ...
- HiveSQL正则表达式的应用[转]
最近工作中数据处理方面用到很多不是特别容易处理的数据,用正则表达式的话会让语句显得特别精简,也可以用各种字符串截取函数嵌套处理(必须要有一定规律),总结一下经常用到的几个. 1.正则的通配符简介 ...
- Javascript 的数据是什么数据类型?
Javascript 中的数据都是以 64 位浮点 float 存储的. 所有语言对浮点的精度是很难确定的. 如下代码可以实验到问题. <script> var a = 0.4; var ...
- linux nginx不区别大小写处理方法
# 把所有的目录及文件名全改成小写,注意之后新增目录及文件只使用小写命名 递归转换目录或文件名方法:python把指定目录下的递归所有目录和文件名转换成小写或大写(http://www.cnblogs ...