jsp: jstl标签库
jstl标签库,通过maven配置:
<!-- jstl标签的支持 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
常用标签:out、set、remove、catch、if、choose、when 和 URL
表达式操作标签包括 out、set、remove 和 catch。
1.out
out 标签的使用格式如下:
<c:out value=”object” [escapeXml=”true|false”] />
这个标签还可以有一个体,如下:
<c:out value=”object” [escapeXml=”true|false”] >default value</c:out>
这表示当 value 属性指定的 object 值为 null 时,就会显示体中指定的值(也就是 default value),体
中也可以是 JSP 代码。
<c:out>中的各个属性:
value:可以指定一个字符串作为输出内容,也可以为 EL 表达式,例如${3+5}。
escapeXml:类型为 boolean,确定<、>、&、’、”等这些字符在结构的字符串中是否被转换成字
符串实体代码,默认的是 true。
default value:可以是字符串,还是一个表达式(EL 表达式或者<%=表达式%>的 JSP 表达式)。
如果属性指定的表达式或者对象值为 null 时,那么将输出这个 default value 部分的值。
例子:
<h4><c:out value="第一个 JSTL 的 JSP 程序,使用 JSTL 的标签迭代输出信息"/></h4> <%
String items[] = new String[3];
items[0] = "jstl标签库";
items[1] = "国际标签库";
items[2] = "sql标签库";
//把数组变量保存在request对象中
request.setAttribute("items", items); %>
<table border="1">
<c:forEach var="item" items="${items}">
<tr>
<td><c:out value="${item}"/></td>
</tr>
</c:forEach>
</table> <c:out value="${3+4}"/><br>
<c:out value="<p>有特色字符串</p>"/><br>
<c:out value="<p>有特色字符串</p>" escapeXml="false"/><br>
2.set
set 标签是使用来在某个范围(request、session 或者 application)内设值,或者设置某个对象的属性
值。
set 标签的使用格式如下:
(1)使用 value 属性在一个特定的范围内指定某个变量的值,其使用格式如下:
<c:set var=”varName” value=”varValue” [scope=”page|request|session|application”] />
(2)当使用 value 属性在一个特定范围内指定某个变量的值时,也可以包括一个体,它的作用和
out 标签体的作用一样,即 value 指定的值为 null 时,默认使用体中指定的值,使用格式如下:
<c:set var=”varName” value=” Value” [scope=”page|request|session|application”] >
default value
</c:set>
(3)设置某一个特定对象属性的使用格式如下:
<c:set property=”propertyName” target=”target” value=”value” />
(4)在设置某个特定对象的一个属性时,也可以有一个体,也指定默认值,使用格式如下:
<c:set property=”propertyName” target=”target” value=”value” >
default value
</c:set>
该标签中的各属性说明如下:
value:该属性指定变量或者对象中某个属性的值,并且可以是一个表达式。
var:变量名称,value 属性指定的值就保存在这个变量中
scope:设定变量的有效范围,如果不设置,则默认为 page。
target:设置属性的一个对象,它必须是 JavaBean 或者 java.util.Map 对象。
property:设置对象中的一个属性。
<c:set var="num1" value="${3+5}" scope="request"/>
<c:set var="num2" scope="session">
${3+6}
</c:set>
<c:set var="num3" scope="session">
10
</c:set> <br>
<!-- 通过out标签输出变量 -->
<c:out value="${num1}"/>
<c:out value="${num2}"/>
<c:out value="${num3}"/>
3.remove
remove 标签一般和 set 标签配套使用,两者是相对应的,remove 标签用于删除某个变量或者属性。
使用格式如下:
<c:remove var=”varName” [scope=”page|request|session|application”] />
remove 标签中使用的各属性说明如下:
scope:设定这个需要删除的变量所在范围。
var:需要删除的变量或者对象属性的名称。
如果没有设置scope的属性,即采用默认值,那么就相当于调用PageContext.removeAttribute(varName)方法;如果指定了这个变量所在的范围,那么系统会调用 PageContext.removeAttribute(varName,scope)方法
<c:set var="num" scope="page" value="${3+5}" />
<c:set var="num" scope="request">
${3+6}
</c:set>
<c:set var="num" scope="session">
<c:out value="10"/>
</c:set> <!-- 变量显示 -->
<table border="1" width="50%">
<tr>
<td>pageScope.num</td>
<td><c:out value="${pageScope.num}" default="null"/></td>
</tr>
<tr>
<td>requestScope.num</td>
<td><c:out value="${requestScope.num}" default="null"/></td>
</tr>
<tr>
<td>sessionScope.num</td>
<td><c:out value="${sessionScope.num}" default="null"/></td>
</tr>
</table>
<br>
<!-- 使用remove删除page标签后的值 -->
<c:out value='<c:remove var="num" scope="page"/>之后的变量值:'/>
<c:remove var="num" scope="page"/>
<table border="1" width="50%">
<tr>
<td>pageScope.num</td>
<td><c:out value="${pageScope.num}" default="null"/></td>
</tr>
<tr>
<td>requestScope.num</td>
<td><c:out value="${requestScope.num}" default="null"/></td>
</tr>
<tr>
<td>sessionScope.num</td>
<td><c:out value="${sessionScope.num}" default="null"/>
</tr>
</table> <!-- 使用remove删除num标签 ,没有指定scope默认删除所有的num-->
<c:out value='<c:remove var="num"/>remove删除num后的值:'/>
<c:remove var="num"/>
<table border="1" width="50%">
<tr>
<td>pageScope.num</td>
<td><c:out value="${pageScope.num}" default="null"/></td>
</tr>
<tr>
<td>requestScope.num</td>
<td><c:out value="${requestScope.num}" default="null"/></td>
</tr>
<tr>
<td>sessionScope.num</td>
<td><c:out value="${sessionScope.num}" default="null"/></td>
</tr>
</table>
4.catch
catch 标签的功能和 Java 程序中 try…catch{}语句功能很类似,它用于捕获嵌入到它中间语句抛出的
异常。这个标签的使用格式如下:
<c:catch var=”varName” >
相关操作语句
</c:catch>
<c:catch var="errors">
<% String num = request.getParameter("num");
int i = Integer.parseInt(num);
out.print("num is " + i); %>
</c:catch>
<c:out value="${errors}"/>
jsp: jstl标签库的更多相关文章
- jsp jstl标签库核心标签
JSTL标签库介绍 JSTL标签库的使用时为了弥补html标签的不足,规范自定义标签的使用而诞生的.使用标签的目的就是不希望在jsp页面中出现java逻辑代码 全称:JSTL标签库分类 核心标签库使用 ...
- jsp jstl标签库 el表达式
一.JSTL标签是什么? 提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言. 同时还提供了格式化数据和日期的方法.实现这些功能需要I18N格式标签库(I18N-c ...
- jsp:jstl标签库国际化 fmt
首先资源文件目录是:src/man/sources (这是它默认的资源文件) i18n_en_US.properties文件内容 copyright=Copyright \u00A9 2013 lan ...
- jsp: jstl标签库 uri标签
与 URL 相关的标签主要是用来将其他文件包含进来,或者提供页面之间的重定位以及 URL 地址的生成.参数的输出等等.一般包括如下几个标签<c:import>标签:与传统 JSP 页面中的 ...
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- 重温JSP学习笔记--JSTL标签库
以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...
- 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 ...
随机推荐
- Delphi Pdf的使用方法
此方法安装了llPDFLib.v3.6 控件.对pdf左侧.右侧正文进行了操作. procedure TForm1.Button1Click(Sender: TObject); var node,nd ...
- ThinkPHP官网瀑布流实现分享
很多人都想做瀑布流的效果,这里告诉大家官网使用的方法. 首先要下载瀑布流的插件jquery.masonry.min.js 地址:http://masonry.desandro.com/index.ht ...
- linux 后台进程管理利器supervisor
Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启. ...
- IDEA中文出现乱码解决
转自:http://lcl088005.iteye.com/blog/2284696 我是个idea的忠实用户,新公司的项目都是用eclipse做的,通过svn拉下代码后发现,注释的内容里,中文内容都 ...
- RabbitMQ队列/Redis缓存
一.RabbitMQ队列 RabbitMQ安装(Centos7安装):1.安装依赖:yum install socat (不安装会报错)2.下载rpm包:wget http://www.rabbitm ...
- 每天一个Linux命令(54)chkconfig命令
chkconfig命令检查.设置系统的各种服务. (1)用法: 用法: chkconfig [必要参数] [服务] (2)功能: 功能: chkconf ...
- 如何在IAR中配置CRC参数(转)
源:如何在IAR中配置CRC参数 前言 STM32全系列产品都具有CRC外设,对CRC的计算提供硬件支持,为应用程序节省了代码空间.CRC校验值可以用于数据传输中的数据正确性的验证,也可用于数据存储时 ...
- linux ip别名和辅助ip地址
转:https://blog.csdn.net/xiewen99/article/details/54729112?utm_source=itdadao&utm_medium=referral ...
- 仿Facebook登录表单
在线演示 本地下载
- debian内核代码执行流程(一)
本文根据debian开机信息来查看内核源代码. 系统使用<debian下配置dynamic printk以及重新编译内核>中内核源码来查看执行流程. 使用dmesg命令,得到下面的开机信息 ...