JSTL_Core标记库
一. 说明
- 如有转载,请标明出处
- 本博讲解JSTL中的core库
- 对标记属性进行介绍时,首先介绍必写的属性,然后带有默认值的属性,其次是其余属性,这三类属性中间用空行隔开
二:core标记库库
Core标记库提供JSP页面编程所需要的一般功能,Core标记库为显示,循环,迭代和设置变量等操作提供了最常用的定制标记,首先,在使用Core标记库的jsp文件开始部分,添加以下声明代码:
<%@ taglib uri=http://java.sun.com/jsp/jstl/core prefix=”c”%>
三:core标记
1.<c:out>标记
用于在jsp中显示内容,作用与<%=param1%>类似
标记包含内容:
<c:out value=”欢迎访问” escapeXml=”true” default=”value值为空”/>
标记不包含内容:
<c:out escapeXml=”true” default=”value值为空”>
value
</c:out>
属性介绍:
value:需要输出的内容,可以是EL表达式或者常量
escapeXml:是否对输出内容中的<,>,.,&进行转义,默认值为true
default:如果value属性中的内容为空,则输出本属性中的内容,可以是el表达式
c:out
2.<c:set>标记,很重要,相当于一门编程语言中的声明变量
用于将变量保存到Javabeans属性中或者jsp页面中的特定取值范围中
标记不包含内容:
命名变量在指定作用范围内:
<c:set var=”name” scope=”page”>
111
</c:set>
为Javabeans属性赋值:
<c:set target=”javabeans” property=”cc”>
111
</c:set>
标记包含内容:
命名变量在指定作用范围内:
<c:set value=”111” var=”name” scope=”page”/>
为Javabeans属性赋值:
<c:set value=”111” target=”javabeans” property=”cc”/>
属性介绍:
value:变量的内容,要保存的内容,可以是el表达式或变量
var:要保存内容的变量名称
scope:保存内容的作用范围,默认值:page
target:要修改属性的对象名,一般是Javabeans对象名
property:要修改Javabeans的属性
c:set
3.<c:remove>标记,用于删除变量
示例代码:
<c:remove var=”name” scope=”page”>
属性介绍:
var:要删除的变量的名称
scope:变量所属于的范围
c:remove
4.<c:catch>标记,捕捉代码中的错误并赋值给指定变量
示例代码:
<c:catch var=”name”>
Body content
</c:catch>
属性介绍
Var:将违例信息保存到指定的变量中,这个属性可有可无
c:catch
5.<c:if> 用法与Java代码中的if代码的用法相同,标记可以包括内容,也可以不包括内容
示例代码:
<c:if test=”condition” var=”name” scope=”page”>
Body content
</c:if>
属性介绍:
test:判断的条件
scope:保存condition值的变量的作用范围,默认:page
var:”存储判断条件的变量”
c:if
6.<c:choose>标记
不能单独使用,需要配合<c:when>或者<c:otherwise>使用
7.<c:when>,当满足条件时,执行,不满足时不执行,需要嵌套到<c:choose>标记里面
示例代码:
<c:when test=”true”>
Body content
</c:when>
属性介绍:
test:如果该属性里面的值为真时执行该标记包含的代码,否则不执行,必须嵌套在<c:choose>标记里面,如果有<c:otherwise>标记,则必须在<c:otherwise>标记前面
c:when
8.<c:otherwise>标记
示例代码:
<c:otherwise>
Body content
</c:otherwise>
该标记没有属性,同样需要嵌套到<c:choose>标记里面,如果<c:when>标记的条件都不满足时执行该标记,
c:otherwise
9.<c:forEach>迭代处理标记,可以处理:字符串,数组,map,Iterator和集合(Collection)对象,
示例代码:
String []names={“1”,”2”,”3”}
page.setAttribute(“names”,names);
<c:forEach var=”name” items=”names” varStatus=”varStatusName” begin=”0” end=”3” step=”1”>
Body content
</c:forEach>
属性介绍:
var:”代表当前成员变量的名称”
items:遍历的集合或列表,数组,字符串等等
step:每次循环的长度,默认值1,
begin:开始的位置,默认为0
end:结束的位置,默认为1
varStatus:无默认值,显示循环状态的变量
c:forEach
*varStatus属性列表
示例代码:
String []names={“1”,”2”,”3”}
page.setAttribute(“names”,names);
<c:forEach var=”name” items=”names” varStatus=”i” begin=”0” end=”3” step=”1”>
Body content<br>
Name:${name}<br>
Index:${i.index}<br>
Count:${i.count}<br>
First:${i.first}<br>
Last:${i.last}
</c:forEach>
属性介绍:
Index:当前位置
*varStatus
10.<c:forTokens>
如果一个字符串的成员是由分隔符号所分割的,就可以使用<c:forTokens>标记迭代处理被分隔的每个字符串片段,.常用的分隔符号可以是”.”,”.”,”|”和”/”等
示例代码:
<c:forTokens items=”a:b:c:d” delims=”:” begin=”0” end=”3” step=”1” varStatus=”i” var=”name”>
<c:out value=”${name}”/>
</c:forTokens>
属性介绍:
Items:需要进行分隔处理的字符串
delims:分隔符号
begin:开始索引 默认值:0
end:结束索引,默认值:集合中最后一个成员的索引
step:步长,默认:1
var:代表当前成员变量的名称
varStatues:包含遍历状态的变量
c:forTokens
11.<c:import>可以把其他静态或者动态文件包含到jsp页面中,
和<jsp:include>的区别是<jsp:include>只能包含和自己在同一个web应用中的文件,<c:import> 还可以包含其他web应用或者其他网站中的文件
示例代码:
<c:import url=”url” context=”thiswebname” var=”name” scope=”page” charEncoding=”utf-8”>
<c:param>
</c:import>
或者
<c:import url=”url” context=”thiswebname” varReader=”varReadername” scope=”page”>
Body content
</c:import>
属性介绍:
url:需要导入页面的URL地址
context:本地的web应用的名字 ,默认值:当前应用的名字
charEncoding:设置导入数据的字符编码,默认值:ISO-8859-1
scope:接收导入文本的变量的作用范围
var:接收导入文本的变量的名称
varReader:用于接收导入文本的java.io.Reader变量的名称
c:import
12.<c:url>标记,可以输出一个URL地址:好处,不需要更改web应用名称,<c:param>可以传递参数
示例代码:
标签包括内容:
<c:url value=”http:www.baidu.com” context=”thiswebname” var=”website”scope=”page”/>
标签不包含内容:
<c:url value=”http://www.baidu.com” context=”thiswebname” var=”website” scope=”page”>
<c:param>
</c:url>
属性介绍:
value=”url地址”
context:web应用的名字,默认:当前web应用的名字
var:保存URL地址的变量的名称 ,默认值:输出到当前页面
scope:存储URL地址的变量的作用范围,默认值:page
c:url
13.<c:redirect>:请求重新定位到另外一个界面,使用效果与response.sendRedirect()方法相同
示例代码:
<c:redirect url=”value” context=”context”/>
或者
<c:redirect url=”value” context=”context”>
<c:param>
</c:redirect>
属性介绍:
url:url地址
context:要转向的web应用的名字,默认值:当前web应用的名字
c:redirect
JSTL_Core标记库的更多相关文章
- JSTL_XML标记库
JSTL_XML 一:说明 如有转载请标明出处 必须包含的属性->有默认值的属性->其余属性,中间用回车隔开 二:XML标记库 Xml标记库主要功能就是为在jsp页面中操作xml提供便利支 ...
- JSTL_Format标记库
JSTL_Format 一:JSTL Format标记库 如有转载,请标明出处 介绍标记属性的时候,按照顺序必须写的->带有默认值的->其他的,中间用回车隔开 在jsp问价开头加上 < ...
- JSTL教程 [JSP 标准标记库]
JSTL教程- - JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管理格式 ...
- jstl_core标签库
先导入这个 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 1 & ...
- 分布式人工智能标记语言(DAIML)示例
DAIML(Distributed Artificial Intelligence Markup Language)是用于分布式人工智能系统中智能语言的标记库.DAIML主要分为Patte ...
- JSTL 核心标签库
SP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供了 ...
- JSTL标准标签库
有时使用EL和标准动作达不到目的,于是就引入定制标记. 对于JSP页面创作人员来说,定制标记使用起来比脚本要容易一些.不过对于JAVA程序员来说,简历定制标记处理器反而更困难.幸运的是,已经有了一个标 ...
- JSP标记
JSP标记是JSP页面中很重要的组成部分,JSP标记包括指令标记.动作标记和自定义标记.其中自定义标记主要讲述与Tag文件有关的Tag标记. 一 指令标记page Page指令标记,简称page指令, ...
- 使用Spring标签库
A.Spring标签库 Web项目若使用Spring Web MVC并使用JSP作为表现的话.从Spring2.0版本开始提供一套标签库可供使用. 使用标签库无非是易于开发,维护之类云云.这里就不阐述 ...
随机推荐
- mysql5.6版本的优化
1. 目标 l 了解什么是优化 l 掌握优化查询的方法 l 掌握优化数据库结构的方法 l 掌握优化MySQL服务器的方法 2. 什么是优化? l 合理安排资源.调整系统参数使MySQL运行更快.更节省 ...
- 【阿里聚安全·安全周刊】Intel芯片级安全漏洞事件|macOS存在漏洞
关键词:Intel漏洞丨mac OS漏洞丨三星漏洞丨安卓安全丨CPU漏洞丨phpMyAdmin漏洞丨iOS设备|安卓恶意软件检测|Burpsuite 本周资讯top3 [Intel漏洞]芯片级安全 ...
- Javascript高级编程学习笔记(20)—— 创建对象
由于今天有点事,加上对象原型链的东西有点多,所以今天这篇就讲一个小的知识点吧 也算为明天的对象继承做铺垫 工厂模式 虽然使用对象字面量来创建一个对象十分地便捷,但是这个方法有一个显著的缺点 那就是如果 ...
- 《http权威指南》读书笔记16
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- SpringMVC FistMVC详解
实现一个简单的SpringMVC框架的配置 1.依赖 这是mybatis+spring+现在需要的依赖 <dependency> <groupId>junit</grou ...
- MyBatis 多表关联查询
多表关联查询 一对多 单条SQL实现. //根据部门编号查询出部门和部门成员姓名public dept selectAll() thorws Excatipon; //接口的抽象方法 下面是对应接口的 ...
- Scala - 快速学习06 - 面向对象
1- 类 1.1- 简介:类.方法及对象 类是用来创建对象的蓝图. Scala文件中包含的多个类之间,都是彼此可见的,不需要声明为public. 创建对象 定义好类以后,就可以使用new关键字来创建对 ...
- 封装手风琴!使用jQuery!
//封装手风琴 /** * * * */ $.fn.accordion = function (colors, width) { var width=width||0; var colors= col ...
- 机器学习基石笔记:03 Types of Learning
原文地址:https://www.jianshu.com/p/86b2a9cef742 一.学习的分类 根据输出空间\(Y\):分类(二分类.多分类).回归.结构化(监督学习+输出空间有结构): 根据 ...
- Ubuntu 18.04安装配置pure-ftpd解决中文乱码问题
之前用的是vsftpd配置ftp服务器,前面用的挺好,没什么问题,但是后面接收设备上传的文件夹时发现了一个大坑,当设备上传的文件夹名字中包含中文时,在Linux上显示的是乱码...各种转码都不行,折腾 ...