(十二)Sun公司的Jstl标签库详细介绍
JSP本身提供的标签很少,不能满足我们日常开发需要,好在Sun公司自己提供了一套标签库;
JSTL标签库快速入门(可点击)
目录
< c : out > 标签
用于输出一段文本内容到 pageContext 对象当前保存的 out 对象中 ;跟 out.write() 一样,都是将内容保存到 out 对象里面,最后输送给浏览器 ;
| 属性名 | 是否支持 EL表达式 |
属性类型 | 属性描述 |
|---|---|---|---|
| Value | true | oject | 指定要输出的内容 |
| escapeXml | true | Booleean | 指定是否对 >、<、$、' 等特殊字符进行 HTML 编码转换后再进行输出。默认是 true ; |
| default | true | Object | 指定如果 value 的值为 null 的时候,输出的默认值 |
实例:
<c:out value="阿里嘎都"></c:out>
< c : set > 标签
用于把某一个对象存在指定的域范围内,或者 设置 web 域中的 java.util.Map 类型的属性对象或 Javabean 类型的属性对象的属性 ;
| 属性名 | 是否支持 EL表达式 |
属性类型 | 属性描述 |
|---|---|---|---|
| value | true | oject | 用于为属性赋值 |
| var | false | String | 用于指定要设置的 web域 中属性的名称 |
| scope | false | String | 用于指定属性所在的 web 域,默认是 page域 |
| target | true | Object | 用于指定要设置属性的对象,这个对象必须是 Javabean 对象或者是 java.util.Map 对象 |
| property | true | String | 用于当前要为对象设置的属性名称 |
其中 value 是公用的 ;
var 、scope 是一起用的,用于在 web域 中存储属性;
target 、 property 是一起用的,用于设置 java.util.Map 、 Javabean 对象的属性值 ;
实例
<%--在 request域中 存储一个叫 aha 的属性,属性值为 狗蛋--%>
<c:set var="aha" scope="request" value="狗蛋"></c:set>
<%--取出这个值--%>
${aha}
----------------------------------------------------------
备注:
如果“value”为 null,“var”指定的属性将被删除!
如果“var”指定的属性不存在,则会创建一个属性,但此时 value 属性的值不能为 null。
----------------------------------------------------------
<%--先在page域中创建一个Javabean对象,--%>
<jsp:useBean id="goudan" class="cn.yaz.web.Bean.Person"></jsp:useBean>
<%--为Javabean对象设置属性,不再需要之前使用jsp标签了--%>
<c:set target="${goudan}" property="name" value="goudan"></c:set>
<%--取值--%>
${goudan.name}
-----------------------------------------------
备注:
如果 target 是一个Map对象,property 指定的是该Map的一个 键;
如果 target 是一个Javabean对象, property 指定的是该Javabean的一个成员字段。
如果 target 为null,容器会抛出一个异常。
如果 target 表达式不是一个 Map 或 Javabean,容器会抛出一个异常,因为它只能被 Map、Javabean 使用。
如果 target 表达式是一个 Javabean,但是这个 Javabean 没有与 property 匹配的成员字段,容器会抛出一个异常。
-----------------------------------------------
< c : remove > 标签
用于删除 web域 中的保存的属性
| 属性名 | 是否支持 EL表达式 |
属性类型 | 属性描述 |
|---|---|---|---|
| var | false | String | 指定要删除的属性 |
| scope | false | String | 用于指定要删除的属性所在的 web域 |
实例:
<c:remove var="goudan" scope="page"></c:remove>
< c : catch > 标签
用于捕获嵌套在 标签体中的内容 抛出 异常;
| 属性名 | 是否支持 EL表达式 |
属性类型 | 属性描述 |
|---|---|---|---|
| var | false | String | 用于标识捕获的异常对象 |
实例:
<%--捕获异常--%>
<c:catch var="yichan">
<%=
10 / 0
%>
</c:catch>
<%--打印异常--%>
<c:if test="${yichan != null}">
发生异常:${yichan.message}
</c:if>
< c : choose> 标签
用于指定多个条件选择的组合边界,它必须与 <c:when> 和 <c:otherwise> 一起使用。
三个标签一起使用,可以构造出类似于 id-else-if 的效果 ;
实例:
<c:choose>
<c:when test="${1==1}">
你可以看到这条信息
</c:when>
<c:otherwise>
这条信息是看不到的
</c:otherwise>
</c:choose>
< c : forEach> 标签
用于对一个对象中的元素进行迭代操作;
或者按照指定的次数重复迭代执行标签体的内容;
| 属性名 | 是否支持 EL表达式 |
属性类型 | 属性描述 |
|---|---|---|---|
| var | false | String | 用于指定将当前迭代到的元素保存在 page域 中的名称 |
| varstatus | false | String | 用于记录迭代信息的对象 |
| items | true | 任何支持的类型 | 将要迭代的集合对象 |
| brgin | true | int | 如果指定了items属性,就从集合中的第 begin 个元素开始迭代,begin 的索引值从 0 开始编号;如果没有指定 items 属性,就从 begin 指定的值开始迭代,直到 end 值时结束迭代 |
| end | true | int | 迭代结束的标记 |
| start | true | int | 指定迭代的步长,即迭代因子的增量 |
这里面的 begin 、end 、step 主要是用在分页上;也可以直接迭代;
varstatus,用于记录迭代信息的对象,可以简单理解为记录当前迭代的次数,该对象有个 count 属性,保存了迭代的次数 ;
< c : param> 标签
在 JSP 页面中进行 URL 的相关操作时,经常需要在 URL 地址后面附加一些参数。
该标签嵌套在 <c:import>、<c:url>、<c:redict> 标签内,为这些标签所使用的url地址附加参数 ;
在对 URL 地址附加参数的时候,会自动地对参数值进行 URL 编码;这是使用这个标签最大的好处了 ;
| 属性名 | 是否支持 EL表达式 |
属性类型 | 属性描述 |
|---|---|---|---|
| name | false | String | 用于指定附加参数的名字 |
| value | true | String | 用于指定附加参数的属性值 |
该标签需要嵌套使用,暂时并不能给出实例,等学完后面的两个,就可以给出实例了 ;
< c : url > 标签
用于在JSP页面中构建一个 URL 地址,其主要目的是实现 URL 重写。
URL 重写 就是将绘会话标识号以参数形式附加在 URL地址 后面 ;
| 属性名 | 是否支持 EL表达式 |
属性类型 | 属性描述 |
|---|---|---|---|
| var | false | String | 用于指定构造出来的url的名称,主要用于保存到 web 域中 |
| value | true | String | 用于指定要构造的 url |
| scope | false | String | 用于指定要构造的 url地址保存到哪一个域中 |
实例:
<%--构建出url地址--%>
<c:url value="index.jsp">
<%--添加附加参数--%>
<c:param name="name" value="yaz"></c:param>
<c:param name="国家" value="China"></c:param>
</c:url>
构建地址的时候,会自动在地址前面加上当前项目的名字;
如果不写 var 属性,则将返回当前构建的地址;,但是返回的仅仅是一个字符串,不是超链接地址
如果写上 var 属性,则将当前构建的地址保存起来 ;
该标签最大的好处是自动进行 URL 重写 ;
< c : redirect > 标签
用于实现请求重定向
| 属性名 | 是否支持 EL表达式 |
属性类型 | 属性描述 |
|---|---|---|---|
| url | true | String | 指定要转发到或者重定向到的目标资源的url |
| context | true | String | 当要使用相对路径重定向到同一台服务器下的另一个web应用程序中资源时,context 指定其他web资源的名字 |
< c : forTokens > 标签
用于切割字符串 ;
实例:
<!-- 按照 - 切割字符串,并返回它们 -->
<c:forTokens items="aa" var="${date}" delims="-" >
${aa}
</c:forTokens>
(十二)Sun公司的Jstl标签库详细介绍的更多相关文章
- sun公司的jstl标签库
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- JSTL标签库---SUN公司开发的标签库
JSTL里的标签包含五大类标签: 核心标签库 国际化标签 JSTL函数(EL函数) 数据库标签// 操作数据库的,用不到了 XML标签//操作XML的,用不到了 都在jstl.jar,standar. ...
- javaweb学习总结(二十八)——JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- jstl标签库示例二
package app05b;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax ...
- 十、JSTL标签库
l JSTL标签库(重点) l 自定义标签(理解) l MVC设计模式(重点中的重点) l Java三层框架(重点中的重点) JSTL标签库 1 什么是JSTL JSTL是apache对EL表达式 ...
- JSTL标签库的基本教程之核心标签库(二)
JSTL标签库的基本教程之核心标签库(二) 核心标签库 标签 描述 <c:out> 用于在JSP中显示数据,就像<%= ... > <c:set> 用于保存数据 & ...
- Java第三阶段学习(十四、JSP动态页面、EL表达式、JSTL标签库)
一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2) ...
- EL表达式与JSTL标签库(二)
1.JSTL标签库 标签库 作用 URI 前缀 核心 包含Web应用的常见工作,如循环.输入输出等 http://java.sun.com/jsp/jstl/core c 国际化 语言区域.消息.数字 ...
- jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门
一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...
随机推荐
- 【原创】go语言学习(六)函数详解2
目录 变量作用域和可见性 匿名函数 闭包 课后练习 变量作用域和可见性 1.全局变量量,在程序整个生命周期有效. var a int = 10 2.局部变量量,分为两种: 1)函数内定义, 2)语句句 ...
- node的小知识点
今天开始阅读node.js深入浅出这本书,阅读过程中会对某些理解有新的认识,所以特地把这些新认识或者知识点记录在这篇博客中 1.nodejs的优势在于 事件驱动.高并发.异步I/O 不适合cpu密集型 ...
- 超轻量级虚拟终端sakura和tilda
一.安装: manjaro:pacman -S sakura ubunt:sudo apt install sakura 小当然是他的最大优点了,虽小但是功能挺全 可以同时打开好多个终端,termin ...
- CSS绘制三角形—border法
1. 实现一个简单的三角形 使用CSS盒模型中的border(边框)即可实现如下所示的三角形: CSS实现简单三角形 实现原理: 首先来看在为元素添加border时,border的样子:假设有如下 ...
- 使用vscode快速建立vue模板
当我们希望每次新建.vue文件后,vscode能够根据配置,自动生成我们想要的内容. 打开vscode编辑器,依次选择“文件 -> 首选项 -> 用户代码片段”,此时,会弹出一个搜索框,我 ...
- HttpClient学习(二)—— MinimalHttpClient源码解析
依赖关系 方法 class MinimalHttpClient extends CloseableHttpClient { //连接管理器 private final HttpClientConnec ...
- 教你如何快速定制 SpringBoot banner
之前说过如何快速创建SpringBoot项目,不知道的同学可以查看之前的文章 5分钟学会如何创建spring boot项目. 为了让大家脱单,码哥简直费尽心思,今天这个技能或许可以让你脱单! 今天我们 ...
- arcgis python 开启编辑会话和编辑操作、在表中创建行、停止编辑操作以及提交编辑会话。
import arcpy import os fc = 'Database Connections/Portland.sde/portland.jgp.schools' workspace = os. ...
- CSS中的cursor属性
css中的cursor这个属性是用来设置光标形状的. 这个属性定义了鼠标指针放在一个元素边界范围内时所用的光标的形状. 默认值:auto 继承性:yes 出现版本:css2 JavaScript语法: ...
- DataSync 异构数据同步
RAC, Data Gurad, Stream 是Oracle 高可用性体系中的三种工具,每个工具即可以独立应用,也可以相互配合. 他们各自的侧重点不同,适用场景也不同. RAC 它的强项在于解决单点 ...