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标签库的更多相关文章

  1. jsp jstl标签库核心标签

    JSTL标签库介绍 JSTL标签库的使用时为了弥补html标签的不足,规范自定义标签的使用而诞生的.使用标签的目的就是不希望在jsp页面中出现java逻辑代码 全称:JSTL标签库分类 核心标签库使用 ...

  2. jsp jstl标签库 el表达式

    一.JSTL标签是什么? 提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言. 同时还提供了格式化数据和日期的方法.实现这些功能需要I18N格式标签库(I18N-c ...

  3. jsp:jstl标签库国际化 fmt

    首先资源文件目录是:src/man/sources (这是它默认的资源文件) i18n_en_US.properties文件内容 copyright=Copyright \u00A9 2013 lan ...

  4. jsp: jstl标签库 uri标签

    与 URL 相关的标签主要是用来将其他文件包含进来,或者提供页面之间的重定位以及 URL 地址的生成.参数的输出等等.一般包括如下几个标签<c:import>标签:与传统 JSP 页面中的 ...

  5. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  6. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  7. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

  8. JSTL标签库中<c:choose></c:choose>不能放JSP页面<!-- -->注释

    笔者最近在使用JSTL标签库的<c:choose>标签时候,发现在该标签体中加了JSP的<!-- -->注释时,总是会显示报错信息.错误的信息如下: <span styl ...

  9. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

随机推荐

  1. VS2015 如何打印出 类的内存布局?

    项目->属性->C/C++->命令行 添加如下内容: /d1 reportAllClassLayout [XXX] XXX 可选,代表源文件名,例如 main.cpp 或 /d1 r ...

  2. HDU 3591 多重背包

    给出N种钱币和M 给出N种钱币的面值和个数 NPC拿着这N些钱币去买价值M的物品,能够多付.然后被找零,找零的钱也为这些面值.但没有数量限制 问最少经手的钱币数量 对于NPC做一个付款多重背包 然后对 ...

  3. Java进阶学习:将文件上传到七牛云中

    Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...

  4. 常见Web源码泄露总结

    来自:http://www.hacksec.cn/Penetration-test/474.html 摘要 背景 本文主要是记录一下常见的源码泄漏问题,这些经常在web渗透测试以及CTF中出现. .h ...

  5. des加密——补齐

    下面这个网址(英文)介绍的比较全面. http://www.di-mgt.com.au/cryptopad.html

  6. 计算机网络概述 传输层 TCP流量控制

    TCP流量控制 所谓流量控制就是让发送发送速率不要过快,让接收方来得及接收.利用滑动窗口机制就可以实施流量控制.通过运用TCP报文段中的窗口大小字段来控制,发送方的发送窗口不可以大于接收方发回的窗口大 ...

  7. GP DBA基本操作

    1.查看队列情况 SELECT * FROM gp_toolkit.gp_resqueue_status; 如果出现了资源占用大于1.1 e+11SQL,则可能存在不合理执行计划的SQL, 基本跑不出 ...

  8. 【leetcode刷题笔记】Insert Interval

    Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...

  9. JSP笔记04——架构(转)

    原始内容:https://www.tutorialspoint.com/struts_2/basic_mvc_architecture.htm Web服务器需要一个JSP引擎,即一个处理JSP页面的容 ...

  10. linux创建指定大小的文件

    一.生成文件大小和实际占空间大小一样的文件 dd if=/dev/zero of=50M.file bs=1M count=50 dd if=/dev/zero of=20G.file bs=1G c ...