jsp中c标签的使用
jsp中c标签的使用
核心标签库
它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量、重复使用一组项目、测试条件和其他操作(如导入和重定向Web内容)。Core标签按功能可分为4种类型:
1 变量维护:
(1)<c:set>:设置变量值和对象属性。语法如下:
<c:set value="值" var="变量名" scope="变量的作用域" target="对象名" property=" 对象属性名"></c:set>
每种设置都有两种方式,总结起来,<c:set>的4种形式,如下所示:
a. 使用标记属性设置JSP变量
<c:set value="值" var="变量名" scope="作用域"/>
b. 使用标记体设置JSP变量
<c:set var="变量名" scope="作用域">标记内容</c:set>
c. 使用标记属性设置对象属性
<c:set value="变量名" target="对象名" property="对象属性名"/>
d. 使用标记体设置对象属性
<c:set target="对象名" property="作用域">标记内容</set>
(2)<c:remove>:在指定作用域范围内删除变量。语法如下:
<c:remove var="变量名" scope="作用域"/>
2 流程控制:分为条件标签和迭代标签。
条件标签:<c:if> <c:choose> <c:when> <c:otherwise>
(1)<c:if>:与Java语言中的if语句的使用方法一样,但不能实现else的功能。
<c:if>标签有两种语法形式,是以有无标记体来区分的。
无标签体:
<c:if test="测试条件" var="变量名" [scope="作用域"]/>
有标签体:
<c:if test="测试条件" var="变量名" [scope="作用域"]>
标签体
</c:if>
带标记体的<c:if>
<c:if test="${user.visitCount!=0}">欢迎光临</c:if>
(2)<c:choose> <c:when> <c:otherwise>
<c:when> <c:otherwise>无法单独使用,只能作为<c:choose>的子标签来使用。这三个标签组合起来实现Java中的switch语句的功能。语法如下:
<c:choose>
<c:when test="${user.class==’guest’}">
标签体1
</c:when>
<c:when test="${user.class==’vip’}">
标签体2
</c:when>
<c:otherwise>
标签体3
</c:otherwise>
</c:choose>
迭代标签:<c:forEach> <c:forTokens>
(1)<c:forEach>:用于遍历一个对象集合。
<c:forEach var="变量名" items="集合" varStatus="遍历状态名"
begin="begin" end="end" step="step" >
标签体
</c:forEach>
(2)<c:forTokens>:用于遍历字符串,而且每次遍历结果返回字符串中的一个单词。
<c:forTokens items="字符串" delims="分界符" var="变量名"
varStatus="遍历状态名" begin="begin" end="end" step="sep">
标签体
</c:forTokens>
3 URL管理
(1)<c:url>:用于对URL地址进行编码。
有标签体:
<c:url value="URL" context="路径" var="变量名" scope="作用域">
标签体
</c:url>
如下代码:
<c:url value="http://localhost:8080/el/index.jsp" var="NewURL">
<c:param name="name" value="zero"/>
<c:param name="age" value="28"/>
</c:url>
<a href="${NewURL}">点我呀</a>
生成的URL:http://localhost:8080/el/index.jsp?name=zero&age=28
无标签体:主要用于编辑上下文URL。
<c:url value="URL" context="路径" var="变量名" scope="作用域"/>
如下代码:
<c:url value="/logon.jsp">登录</c:url>
若当前路径为el,则输出为:/el/logon.jsp
(2)<c:import>:向当前JSP页面中引入URL资源(可以是远程序站点上的资源)。Include指令和include动作不能向JSP页引入Web程序以外的资源,引入的资源必须位于当前Web程序中。
以String对象引入的语法:
<c:import url="地址" context="上下文路径" var="变量名"
scope="作用域" charEncoding="字符集">
标签体使用<c:param>
</c:import>
如下代码:将外部资源引入到当前JSP页面中.
<c:import url="http://www.hao123.com" var="myurl" charEncoding="gb2312">
</c:import>
<a href="${myurl }">地址</a>
以Reader对象导入的语法:
<c:import url="地址" context="上下文路径" varReader="变量名"
scope="作用域" charEncoding="字符集">
标签体使用其它动作元素
</c:import>
(3)<c:redirect>:用于HTTP重定向。
无标签体:
<c:redirect url="地址" context="上下文路径"/>
有标签体:
<c:redirect url="地址" context="上下文路径">
<c:param/>标签
</c:redirect>
(4)<c:param>:只能嵌入到<c:url>、、<c:import>、<c:redirect>标签中作为子元素来使用。此标签主要用于设置URL中将要传入的参数。
无标签体:
<c:param name="名称" value="值"/ >
有标签体:
<c:param name="名称" value="值" >
标签体
</c:param>
4 其它标签:<c:out>、<c:catch>。
(1)<c:out>:在JSP页面中显示变量内容。
无标签体:
<c:out value="值" escapeXml="{true|false}" default="默认值"/>
有标签体:
<c:out value="值" escapeXml="{true|false}" default="默认值">
标签体
</c:out>
其中:
default: 用于指定当value值为null时,应该输出的值。
escapeXml: 用于设置是否将"<"、">"、"&"、"’"、"""、这些字符进行转义。
escapeXml默认为true,表示发生转换。
"<"转换成"<"
">"转换成">"
"&"转换成"&"
"’"转换成"'"
"""转换成"""
(2)<c:catch>:用于处理JSP页面错误。
如果JSP页面出错,可以通过对page指令属性的设置将其转到错误处理页面上。<c:catch>标签是对这种错误处理的补充。它的处理方式是将可能发生异常的JSP代码片段嵌入到标记体内,然后使用var属性心不烦接收标记体抛出的异常。
<c:catch var="变量名">
嵌套动作
</c:catch>
使用方法:
<c:catch var="myexception">
嵌套动作
</c:catch>
<c:if test="${myexception!=null}">
内容
</c:if>
jsp中c标签的使用的更多相关文章
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- [置顶] jsp中c标签的使用
jsp中c标签的使用 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: ...
- jsp中jstl标签的类似 if - else 语句 的语法
在jsp中引入jstl的标签库和函数库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c&q ...
- JSP中<img>标签引用本地图片
问题描述: jsp页面中<img>标签如何读取本地文件夹中的图片. 问题起因: 由于上传图片至本地文件夹中,图片路径为: D:/upload/file/image/img.jpg 所以将这 ...
- 转载:jsp中jstl标签的类似 if - else 语句 的语法
原文链接:http://www.cnblogs.com/wanggd/archive/2013/05/27/3101788.html 在jsp中引入jstl的标签库和函数库 <%@ taglib ...
- jsp中<!DOCTYPE>标签
今天写代码时遇到一个问题,定义了如下一个样式: .c_c1:hover td { background-color: #edf5ce;} <tr class="c_c1"&g ...
- 关于jsp中jstl-core标签循环遍历的使用
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- jsp中的标签使用
jsp中的变量作用域 表示变量的作用域,一共4种.pageScope: 表示变量只能在本页面使用.requestScope:表示变量能在本次请求中使用.sessionScope:表示变量能在本次会话 ...
- jsp中核心标签使用
<%@ page language="java" import="java.util.*, java.lang.*" pageEncoding=" ...
随机推荐
- 分享知识-快乐自己:Hibernate 中的 HQL 语句的实际应用
概要: Hibernate 支持三种查询方式: HQL查询.Criteria查询及原声 SQL (Native SQL)查询. HQL(Hibernate Query Language,Hiberna ...
- github添加ssh公钥
使用git作为版本维护工具非常方便,而且一般个人用github作为远端库就够用了.而一般git连接github的方式采用ssh的方法,http的会略微慢一些.所以为了方便一般会在github设置中添加 ...
- 连接并同步windows下的git仓库
1. 需求 电脑A和电脑B本来通过服务器同步工作目录.服务器时linux系统上有个裸仓库,不管在A上还是B上工作,工作完毕后使用git go与服务器仓库同步.A和B都是windows系统,在工作目录下 ...
- java面试题07
1.重载和重写的区别? 重载(Overload):(1)方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型.重载Overloading是一个类中多态性 ...
- dsu on tree(无讲解)
CF741D. Arpa's letter-marked tree and Mehrdad's Dokhtar-kosh paths 分析: 最多有一个字符出现奇数次 维护某个状态下深度的最大值,注意 ...
- ACM学习历程—HDU1028 Ignatius and the Princess(组合数学)
Ignatius and the Princess Description "Well, it seems the first problem is too easy. I w ...
- SHOI2001化工厂装箱员——记忆化搜索
题目:https://www.luogu.org/problemnew/show/P2530 太弱了不会用DP,于是暴搜: 每次传进一个数组c记录当前状态各种物品有多少个,枚举取哪种物品,返回最小值, ...
- 模拟select选择器
<form method="post"> <div class="selectly" id="s1"> Select ...
- Iptables防火墙面试题
Iptables防火墙面试题 第1章 (一)基础口试题 1.1 详述 iptales 工作流程以及规则过滤顺序? 1.防火墙是一层层过滤的.实际是按照配置规则的顺序从上到下,从前到后进行过滤的. 2. ...
- 手把手教你上传文件到GitHub并发布到pod
第一步:定位到要上传到GitHub的文件夹, 第二步:GitHub中建立一个仓库,用于存放项目. 第三步:建立podspec文件, pod spec create openinstall 然后修改里面 ...