JSTL详解(二)
JSTL详解(二)
在JSTL中,一般用途的标签只要是指具有输出,设置变量,和错误处理等功能的标签,他们在jsp中使用很频繁,它们有:
l <c:out>
l <c:set>
l <c:remove>
l <c:catch>
下面,我来讲述一下他们的作用:
<c:out>
它是一个输出的标签,负责把计算出的结果输出到jspwriter,就跟调用out.println()基本一样。没有BODY的时候,使用下面的语法:
<c:out value=”value” [escapeXml]=”{true|false}” [default=”defaultValue”]/>
有BODY的时候,使用下面的语法:
<c:out value=”value” [escapeXml]=”{true|false}” >
这里是BODY,可以是任何合法的jsp或者是html代码。
</c:out>
注意,escapeXml的作用是是否将代码交给xml解析器解释,true为交给xml解析器解释,false为交给浏览器解释,见红色部分代码
举例:c_out.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL: c:out的使用</title>
</head>
<body bgcolor="#FFFFFF">
<hr>
<c:set var="sessionAttr" value="sessionValue" scope="session"/>
<c:set var="pageAttr" value="pageValue" scope="page"/>
<c:set var="requestAttr" value="requestValue" scope="request"/>
<c:out value="以下输出的是前面设置的属性<br>" escapeXml="false"/>
<c:out value="${sessionAttr}"/>
<c:out value="${pageAttr}"/>
<c:out value="${requestAttr}"/>
<c:out value="${test_nodef}" default="没有test_nodef这个变量"/>
</html>
<c:set>
这个标签用于在某个范围(page,request,session,application)里面设置特定的值(默认为page),或者设置某个已经存在的javabean的属性。类似于<%request.setAttribute(“name”,value)%>
语法:
1、使用value属性设置一个特定范围里面的属性:
<c:set value=”value” var=”varName” [scope= “{page|request|session|application}”]/ >
2、使用value属性设置一个特定范围里面的属性,带有BODY:
<c:set value=”value” var=”varName” [scope= “{page|request|session|application}”] >
Body content
</c:set>
3、设置某个特定对象的一个属性:
<c:set value=”value” target=”target” property=”propertyName”/ >
4、设置某个特定对象的一个属性, 带有BODY:
<c:set value=”value” target=”target” property=”propertyName” >
Body content
</c:set>
举例:c_set.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<jsp:useBean id="user" class="com.j2ee14.ch12.User"/>
<html>
<head>
<title>JSTL:的使用c:set</title>
</head>
<body bgcolor="#FFFFFF">
<hr>
设置一个属性,然后输出它<br>
<c:set var="maxCount" value="100"/>
<c:out value="${maxCount}"/>
<hr>设置属性时,把它的值放在标签的body中。
<c:set var="password">
ksdjfxsdf234234
</c:set>
<c:out value="${password}"/>
<hr>设置javaBean的属性,然后输出这些属性值:
<c:set value="hellking" target="${user}" property="userName"/>
userName=<c:out value="${user.userName}"/>
<hr>设置属性,并且指定它们的范围,属性的默认范围是page。
<c:set value="20" var="maxIdelTime" scope="session"/>
<c:set value="next.jsp" var="nextPage" scope="page"/>
</body>
</html>
<c:remove>
它的作用是删除某个变量或者属性。类似于<%session.removeAttribute(“name”)%>,它的语法是:<c:remove var=”varName” [scope= “{page|request|session|application}”]/ >
举例:c_remove.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL:c:remove的使用</title>
</head>
<body bgcolor="#FFFFFF">
<c:set value="10000" var="maxUser" scope="application"/>
<c:set value="10" var="count" scope="session"/>
maxUser=<c:out value="${maxUser}"/><br>
count=<c:out value="${count}"/>
<hr>调用c:remove...
<c:remove var="maxUser" scope="application"/>
<c:remove var="count"/>
调用了c:remove后,参数值为:
maxUser=<c:out value="${maxUser}"/>,
count=<c:out value="${count}"/>,
</body>
</html>
<c:catch>
它的作用是捕捉由嵌套在它里面的标签所抛出来的异常。类似于<%try{}catch{}%>,它的语法是:<c:catch [var=”varName”]>nested actions</c:catch>
举例:c_catch.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL:catch的使用</title>
</head>
<body bgcolor="#FFFFFF">
<c:catch var="error">
<%
Integer.parseInt("sdkfj");
%>
</c:catch>
<hr>异常:
<c:out value="${error}"/>
<hr>异常 exception.getMessage=
<c:out value="${error.message}"/>
<hr> 异常exception.getCause=
<c:out value="${error.cause}"/>
</body>
</html>
JSTL详解(二)的更多相关文章
- .NET DLL 保护措施详解(二)关于性能的测试
先说结果: 加了缓存的结果与C#原生代码差异不大了 我对三种方式进行了测试: 第一种,每次调用均动态编译 第二种,缓存编译好的对象 第三种,直接调用原生C#代码 .net dll保护系列 ------ ...
- PopUpWindow使用详解(二)——进阶及答疑
相关文章:1.<PopUpWindow使用详解(一)——基本使用>2.<PopUpWindow使用详解(二)——进阶及答疑> 上篇为大家基本讲述了有关PopupWindow ...
- Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)
[Android布局学习系列] 1.Android 布局学习之——Layout(布局)详解一 2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数) 3.And ...
- logback -- 配置详解 -- 二 -- <appender>
附: logback.xml实例 logback -- 配置详解 -- 一 -- <configuration>及子节点 logback -- 配置详解 -- 二 -- <appen ...
- 爬虫入门之urllib库详解(二)
爬虫入门之urllib库详解(二) 1 urllib模块 urllib模块是一个运用于URL的包 urllib.request用于访问和读取URLS urllib.error包括了所有urllib.r ...
- [转]文件IO详解(二)---文件描述符(fd)和inode号的关系
原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...
- Android View 的绘制流程之 Layout 和 Draw 过程详解 (二)
View 的绘制系列文章: Android View 的绘制流程之 Measure 过程详解 (一) Android View 绘制流程之 DecorView 与 ViewRootImpl 在上一篇 ...
- HTTPS详解二:SSL / TLS 工作原理和详细握手过程
HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 HTTPS详解二:SSL / TLS 工作原理和详细握手过程 在上篇文章HTTPS详解一中,我已经为大家介绍了 HTTPS 的详细原理和通信流 ...
- Linux dts 设备树详解(二) 动手编写设备树dts
Linux dts 设备树详解(一) 基础知识 Linux dts 设备树详解(二) 动手编写设备树dts 文章目录 前言 硬件结构 设备树dts文件 前言 在简单了解概念之后,我们可以开始尝试写一个 ...
随机推荐
- Codeforces Round #280 (Div. 2) E. Vanya and Field 思维题
E. Vanya and Field time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Python学习笔记(一):Python基础学习
总结的内容: 1.变量的命名 2.脚本的注释 3.运算符 4.用户输入语句 一.变量的命名 1.变量用于引用在程序中可能会变化的值.它们被称为变量是因为它们可能引用存储在内存中的不同的值. 2.变量的 ...
- 分布式文件系统 ~MogileFS~
一.分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,也就是集群文件系统,可以支持 ...
- 邮件基本常识普及(to/cc/bcc)
http://blog.sina.com.cn/s/blog_5572b4b5010009ul.html 前两天,某个同事发的一封邮件着实把我给郁闷了,他发的是图片形式的笑话,内容稍稍有点不太健康,这 ...
- js删除字符串的最后一个字符三种方法
字符串 var basic = "abc,def,ghi,"; 第一种 basic = basic.substr(0, basic.length - 1); 第二种 basic = ...
- UVa409_Excuses, Excuses!(小白书字符串专题)
解题报告 题意: 找包括单词最多的串.有多个按顺序输出 思路: 字典树爆. #include <cstdio> #include <cstring> #include < ...
- java基础学习总结——接口
一.接口的概念 JAVA是只支持单继承的,但现实之中存在多重继承这种现象,如“金丝猴是一种动物”,金丝猴从动物这个类继承,同时“金丝猴是一种值钱的东西”,金丝猴从“值钱的东西”这个类继承,同时“金丝猴 ...
- VS中运行HTTP 无法注册URL
参考资料 http://www.java123.net/detail/view-449670.html http://www.cnblogs.com/jiewei915/archive/2010/06 ...
- 32.NET中加密解密基本概念
对消息的接收方来说,安全的交流方式需要同时满足3个条件: 1.完整性:消息在传输途中没有被篡改过,即消息是完好无损的. 2.保密性:接收放可以理解或解密来自发送方的信息.(不保证第三方无法获得,但保证 ...
- 详解DHCP工作方法,并用wireshark对DHCP四个数据包抓包分析
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...