JSTL标签_详解
JSTL简介:
标准标签库JSTL的全名为:Java Server Pages Standard Tag Library.
JSTL主要提供了5大类标签库:
1. 核心标签库: 为日常任务提供通用支持,如显示和设置变量,重复使用一组项目,测试条件以及其他操作(如导入和重定向web页面等).
2. 国际化(I18N)标签库: 支持多种语言的引用程序.
3. SQL标签库: 对访问和修改数据库提供标准化支持.
4. XML标签库: 对XML文件处理和操作提供支持,包括XML节点的解析,迭代,基于XML数据的条件评估以及可扩展样式语言转换(Extensible Style Language Transformations , XSLT)的执行.
5. 函数标签库: 通过在EL表达式中调用函数标签库中的函数来实现特定的操作,例如: ${fn:contains(sring,substring)},其功能是判断string字符串中是否包含substring字符串.
JSTL标签库使用方法:
标签库 URI 前缀 使用模式
核心标签库 http://java.sun.com/jstl/core c <c:tagname…>
国际化标签(I18N) http://java.sun.com/jstl/fmt fmt <fmt:tagname…>
SQL标签库 http://java.sun.com/jstl/sql sql <sql:tagname…>
XML标签库 http://java.sun.com/jstl/xml x <x:tagname…>
函数标签库 http://java.sun.com/jstl/functions fn <fn:tagname…>
核心标签库
核心标签库包括:out , set , remove , catch , if , choose , when 和 URL 等.
表达式操作标签: 包括:out , set , remove , catch.
out标签:
核心标签库中最为基本的标签就是<c:out>,他可以在页面中显示一个字符串或者一个EL表达式的值,其功能与JSP中的<%= 表达式%>类似
使用格式如下:
<c: out value=”object” [escapeXml=”true|false”] />
这个标签还可以有一个体,如下:
<c: out value=”object” [escapeXml=”true|false”] >de易做图t value</c:out>
这表示当value属性指定的object值为null时,就会显示体中指定的值,也就是default value的值,体中也可以是jsp代码.
<c:out>中各属性的说明如下:
1. value : 可以指定一个字符串作为输出内容,也可以指定为EL表达式,例如:${3+5}.
2. escapeXml : 类型为boolean , 确定 , < , > , & , ‘ , “ 等字符在结构的字符串中是否被转换成字符串实体代码,默认值是true(就是是否按html中的样式进行输出,设置true就是按照字符串原样进行输出,false就是按照html标识符进行输出)
3. default value : 可以是字符串,也可以是一个EL表达式或者jsp表达式,如果属性(value)指定的表达式或者对象为null,那么将输出这个de易做图t value部分的值.
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=”varValue” [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>
该标签中的各属性说明如下:
1. value : 该属性指定变量或者对象中某个属性的值,并且可以是一个表达式.
2. var : 变量名称,value属性指定的值就保存在这个变量中.
3. scope : 设定变量的有效范围,如果不设置,默认为page.
4. target : 设置属性的一个对象,它必须是JavaBean 或者java.util.Map对象.
5. property : 设置对象中的一个属性.
remove标签
remove标签一般和set标签配套使用,两者是相对应的,remove标签用于删除某个变量或者属性,使用格式如下:
<c:remove var=”varName” [scope=”page|request|session|application”] />
Remove标签中使用的各属性说明如下:
1. scope : 设定这个需要删除的变量的所在范围.
2. var : 需要删除的变量或者对象属性的名称.
如果没有scope属性,即采用默认值,就相当于调用PageContext.removeAttribute(varName)方法,如果指定了这个变量所在的范围,那么系统会调用PageContext.removeAttribute(varName,scope)方法.
catch标签
catch标签的功能和java中的try{…}catch{…}语句的功能很相似,它用于捕获嵌入到其中间语句抛出的异常,这个标签的使用格式如下:
<c:catch var=”varName”>
相关操作语句
</c:catch> --如果操作语句中出现异常,则catch会将异常保存在 varName变量中.
补充:web前端 , JavaScript ,