JSTL 各项标签及其属性

JSTL 各项标签及其属性

【JSTL core】

catch 标签
作用:捕获任何页面执行异常,类似try{}cath{}
属性var:可以设置一个获取异常信息的变量,非必须,不可用EL表达式

choose 标签
作用:类似于switch,分支选择,与when 和 otherwise 标签配合实现

if 标签
作用:类似if,条件判断语句
属性test:判断字句,必选,可用EL表达式,必须为boolean型

import 标签
作用:类似include,可以包含其他页面不确定
属性url:页面地址,必选,可用EL表达式。
属性var:导入内容可存放入这个变量不确定 ,非必选,不可用EL表达式。
属性scope:var的作用范围不确定 ,非必选,不可用EL表达式。
属性varReader:可以用于读取导入内容的Reader不确定 ,非必选,不可用EL表达式。
属性context:未知其作用 ,非必选,可用EL表达式。
属性charEncoding读入内容使用的编码格式 ,非必选,可用EL表达式。

forEach 标签
作用:迭代器,支持多种数据集合
属性items:需要迭代的数据集合,非必选,可用EL表达式。
属性begin:迭代起点,非必选,可用EL表达式,必须为int类型
属性end:迭代终点,非必选,可用EL表达式,必须为int类型
属性step:迭代步长,非必选,可用EL表达式,必须为int类型
属性var:当前迭代获得的对象变量,非必选,不可用EL表达式
属性varStatus:迭代状态,非必选,不可用EL表达式

forTokens 标签
作用:依据分割标记Token迭代一个字符串(不确定
属性items:需要迭代的字符串,必选,可用EL表达式。必须是String类型
属性delims :分割标记集合,(没搞明白多个分割标记怎么在一个字符串里集合,难道用正则),必选,可用EL表达式。必须是String类型。
属性begin:迭代起点,非必选,可用EL表达式,必须为int类型
属性end:迭代终点,非必选,可用EL表达式,必须为int类型
属性step:迭代步长,非必选,可用EL表达式,必须为int类型
属性var:当前迭代获得的对象变量,非必选,不可用EL表达式
属性var:当前迭代获得的对象变量,非必选,不可用EL表达式
属性varStatus:迭代状态,非必选,不可用EL表达式

out 标签
作用:与<%=...%>基本相同
属性value:要输出的内容 ,必选,可用EL表达式
属性default:如果value为null,则输出该默认值,非必选,可用EL表达式
属性escapeXml :是否进行html encode迭代状态,非必选,可用EL表达式,默认为true

otherwise 标签
作用:配合choose标签,与when相对应,所有的when都不匹配则进入,相当于switch的default分支

param 标签
作用:为import增加一个参数不确定 ),最终形成querystring变量
属性name:参数名,
必选,可用EL表达式
属性value:参数值, 非必选,可用EL表达式

redirect 标签
作用:重定向,等同于response.sendRedirect()
属性url:重定向地址, 非必选,可用EL表达式
属性context:未知其作用 ,非必选,可用EL表达式。

remove 标签
作用:未知
属性var:(未知其作用 ,必选,不可用EL表达式。
属性scope:变量作用域,非必选,不可用EL表达式。

set 标签
作用:设置一个变量
属性var:变量名,非必选,不可用EL表达式。
属性value:变量值,非必选,可用EL表达式。
属性target:可以对一个bean对象进行字段赋值,非必选,可用EL表达式。
属性property:bean对象的某个属性,非必选,可用EL表达式。
属性scope:变量作用域,非必选,不可用EL表达式。

url 标签
作用:构造一个链接地址,可附带querystring
属性var :构造url用的变量,非必选,不可用EL表达式。
属性scope:变量作用域,非必选,不可用EL表达式。
属性value:构造的url值,非必选,可用EL表达式。
属性context:变量作用域,非必选,可用EL表达式。

when 标签
作用:配合choose标签,匹配分支,相当于switch的case分支
属性test:判断字句,必选,可用EL表达式,必须为boolean型

遗留问题:core库有c.tld、c-1_0.tld、c-1_0-rt.tld,我简单看了一下,c.tld是JSTL 1.1,其他两个是JSTL 1.0,但是在TSTL的定义库文件夹里,他们都在,不知道是协同工作的,还是1.1会覆盖1.0的,这个有待验证

【JSTL fmt】

requestEncoding 标签
作用:定义request字符集,相当于request.setCharacterEncoding();
属性
value :字符集名称,非必选,可用EL表达式

setLocale 标签
作用:估计是用来设置区域的,为了国际化多语言支持(不确定
属性
value: 必选,可用EL表达式
属性 variant: 非必选,不可用EL表达式
属性 scope: 必选,不可用EL表达式

timeZone 标签
作用:设定时区,直接影响所有跟时间日期操作有关的方法。
属性value:时区值,格式依据java定义,如 GMT-8,必选,可用EL表达式

setTimeZone 标签
作用:貌似把timezone存入配置的功能
不确定
属性 value: 必选,可用EL表达式
属性var 非必选,不可用EL表达式
属性 scope: 必选,不可用EL表达式

bundle 标签
作用:貌似调用资源簇的标签,具体使用方法不详 不确定
属性 basename 必选,可用EL表达式
属性 prefix 非必选,可用EL表达式

setBundle 标签
作用:貌似把 bundle 存入配置的功能 不确定
属性 basename: 必选,可用EL表达式
属性var 非必选,不可用EL表达式
属性 scope: 必选,不可用EL表达式

message 标签
作用:一个本地化支持的映射表
不确定
属性key:映射键值,非必选,可用EL表达式
属性 bundle 使用方法未知 ,非必选,可用EL表达式
属性var 非必选,不可用EL表达式
属性 scope: 必选,不可用EL表达式

param 标签
作用:未知
属性 value 必选,不可用EL表达式

formatNumber 标签
作用:格式化数字
属性 value :需要格式化的数字,非必选,可用EL表达式
属性 type :设定数字被格式化为那种类型( number, currency, percentage), 非必选,可用EL表达式
属性 pattern:格式化样式, 非必选,可用EL表达式
属性 currencyCode: ISO 4217 格式货币代码,仅在type= currency有效
属性 currencySymbol :货币符号, 仅在type= currency有效
属性 groupingUsed:格式化结果分组,可能是以千位加逗号那种 不确定
属性 maxIntegerDigits:最大整数位数, 非必选,可用EL表达式
属性 minIntegerDigits:最小整数位 数, 非必选,可用EL表达式
属性 maxFractionDigits:最大小数位 数, 非必选,可用EL表达式
属性 minFractionDigits:最小小数位 数, 非必选,可用EL表达式
属性var :存放结果的变量, 非必选,不可用EL表达式
属性 scope: 必选,不可用EL表达式

parseNumber 标签
作用:从字符串解析数字,可解析
number, currency, percentage
属性 value :用于解析的值,非必选,可用EL表达式
属性 type:设定解析目标类型 number, currency, percentage 非必选,可用EL表达式
属性 pattern:格式化样式, 非必选,可用EL表达式
属性 parseLocale:默认地区化格式, 非必选,可用EL表达式
属性 integerOnly:是否近解析证书部分, 非必选,可用EL表达式
属性 var:存放解析结果的变量 非必选,不可用EL表达式
属性 scope: 必选,不可用EL表达式

formatDate 标签
作用:格式化日期、时间
属性
value :需要格式化日期时间值, 必选,可用EL表达式
属性 type:设定解析目标类型 date,time,both), 非必选,可用EL表达式
属性dateStyle:预定义日期样式,遵循 java.text.DateFormat语法,仅type为date或both有效,非必选,可用EL表达式
属性timeStyle:预定义时间样式,遵循 java.text.DateFormat语法 仅type为time或both有效,非必选,可用EL表达式
属性pattern:自定义样式, 非必选,可用EL表达式
属性timeZone:时区定义, 非必选,可用EL表达式
属性var:存放结果的变量 非必选,不可用EL表达式
属性 scope: 必选,不可用EL表达式

parseDate 标签
作用:从字符串解析日期时间
属性 value :用于解析的值,非必选,可用EL表达式
属性 type:设定解析目标类型 date,time,both), 非必选,可用EL表达式
属性dateStyle:预定义日期样式,遵循 java.text.DateFormat语法,仅type为date或both有效,非必选,可用EL表达式
属性timeStyle:预定义时间样式,遵循 java.text.DateFormat语法 仅type为time或both有效,非必选,可用EL表达式
属性pattern:自定义样式, 非必选,可用EL表达式
属性timeZone:时区定义, 非必选,可用EL表达式
属性 parseLocale:默认地区化格式, 非必选,可用EL表达式
属性var:存放结果的变量 非必选,不可用EL表达式
属性 scope: 必选,不可用EL表达式

【JSTL sql】

transaction 标签
作用:开启一个数据库执行事务
属性dataSource:设置数据源,可以是JNDI或JDBC,
非必选,可用EL表达式
属性isolation:事务隔离级别,如果不设定,则使用数据源自身设置 非必选,可用EL表达式

query 标签
作用:执行一个查询语句,可以使用sql属性值,或标签体内容作为sql语句。
属性var:
存放Result结果集的变量, 必选,不可用EL表达式
属性 scope: 非必选,不可用EL表达式
属性sql:sql语句 非必选,可用EL表达式
属性 dataSource 设置数据源,可以是JNDI或JDBC, 非必选,可用EL表达式
属性 startRow:启示结果集索引,如果不设置则从0开始(是否是从BOF呢? 非必选,可用EL表达式
属性 maxRows:最大结果集数量,-1或未设置则返回所有, 必选,不可用EL表达式

update 标签
作用:执行一个更新语句,可以使用sql属性值,或标签体内容作为sql语句。
属性var:
存放更新数量值的变量,必须为int类型,非必选,不可用EL表达式
属性 scope: 非必选,不可用EL表达式
属性sql:sql语句 非必选,可用EL表达式
属性 dataSource 设置数据源,可以是JNDI或JDBC, 非必选,可用EL表达式

param 标签
作用:为SQL语句添加参数值,泛类型
属性
value:参数值, 非必选,可用EL表达式

dateParam 标签
作用:为SQL语句添加 日期时间类型参数值 (DATE, TIME, or TIMESTAMP)
属性
value:参数值必选,可用EL表达式
属性 type:明确参数类型( date,time,timestamp), 非必选,可用EL表达式

setDataSource 标签
作用:建立一个数据源
属性var:存放建立的数据源的变量,非 必选,不可用EL表达式
属性 scope: 非必选,不可用EL表达式
属性 dataSource 设置数据源,可以是JNDI或JDBC, 非必选,可用EL表达式
属性 driver 设置JDBC驱动, 非必选,可用EL表达式
属性 url 设置数据库访问串, 非必选,可用EL表达式
属性user 设置数据库访问用户名, 非必选,可用EL表达式
属性 password 设置 数据库访问密码 非必选,可用EL表达式

 

【JSTL XML】

尚未学习

【JSTL functions】

contains 函数
作用:测定一个字符串内是否包含另一个字符串,大小写敏感
定义:
boolean contains(java.lang.String, java.lang.String)
示例: <c:if test="${fn:contains(name, searchString)}">

containsIgnoreCase 函数
作用:测定一个字符串内是否包含另一个字符串,大小写不敏感
定义:
boolean containsIgnoreCase (java.lang.String, java.lang.String)
示例: <c:if test="${fn: containsIgnoreCase (name, searchString)}">

endsWith 函数
作用:测定一个字符串是否由另一个字符串作为结尾,大小写敏感
定义:
boolean endsWith(java.lang.String, java.lang.String)
示例: <c:if test="${fn:endsWith(filename, ".txt")}">

escapeXml 函数
作用:多内容进行xml encode(html encode?)
定义:
java.lang.String escapeXml(java.lang.String)
示例: ${fn:escapeXml(param:info)}

indexOf 函数
作用:查找一个字符串在另一个字符串中的位置
定义:
int indexOf(java.lang.String, java.lang.String)
示例:
${fn:indexOf(name, "-")}

join 函数
作用:将一个字符串加入到一个字符串数组的每个元素之间,并组合成新的字符串。
定义:
java.lang.String join(java.lang.String[], java.lang.String)
示例: ${fn:join(array, ";")}

length 函数
作用:取得一个集合中的元素个数,或者一个字符串的长度。
定义:
int length(java.lang.Object)
示例: You have ${fn:length(shoppingCart.products)} in your shopping cart.

replace 函数
作用:替换操作,多个命中时会全部进行替换,相当于replaceAll
定义:
java.lang.String replace(java.lang.String, java.lang.String, java.lang.String)
示例: ${fn:replace(text, "-", "•")}

split 函数
作用:以特定标志将字符串分割为字符串数组
定义:
java.lang.String[] split(java.lang.String, java.lang.String)
示例: ${fn:split(customerNames, ";")}

startsWith 函数
作用:测定一个字符串是否由另一个字符串开头
定义:
boolean startsWith(java.lang.String, java.lang.String)
示例: <c:if test="${fn:startsWith(product.id, "100-")}">

substring 函数
作用:取一个字符串的一部分
定义:
java.lang.String substring(java.lang.String, int, int)
示例: P.O. Box: ${fn:substring(zip, 6, -1)}

substringAfter 函数
作用: 一个字符串中,特定字符串后的部分
定义:
java.lang.String substringAfter(java.lang.String, java.lang.String)
示例: P.O. Box: ${fn:substringAfter(zip, "-")}

substringBefore 函数
作用: 一个字符串中,特定字符串前的部分
定义:
java.lang.String substringBefore(java.lang.String, java.lang.String)
示例: Zip (without P.O. Box): ${fn:substringBefore(zip, "-")}

toLowerCase 函数
作用: 将一个字符串转为小写
定义:
java.lang.String toLowerCase(java.lang.String)
示例: Product name: ${fn.toLowerCase(product.name)}

toUpperCase 函数
作用: 将一个字符串转为大写
定义:
java.lang.String toUpperCase (java.lang.String)
示例: Product name: ${fn. toUpperCase (product.name)}

trim 函数
作用: 对字符串进行trim,去除两端不可显示字符
定义:
java.lang.String trim( java.lang.String)
示例: Product name: ${fn. trim (product.name)}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值