JSTL标签库

lin345640 贡献于2014-02-28

作者 微软用户  创建于2010-11-08 10:22:00   修改者方腾飞  修改于2011-10-16 01:26:00字数14439

文档摘要:JSTL标签库
关键词:

 JSTL标签库 一、核心标签库 2 1/1通用标签 2 1/1/1标签 2 1/1/2标签 3 1/1/3标签 4 1/1/4标签 4 1/2条件标签 5 1/2/1 5 1/2/2 6 1/3循环迭代标签 6 1/3/1 6 1/3/2标签 7 1/4URL相关标签 8 1/4/1 8 1/4/2 标签 9 1/4/3 标签 10 1/4/4 标签 10 二、格式标签库 11 2/1国际化(I18N)标签 11 2/1/1 标签 11 2/1/2 标签 11 2/1/3 标签 12 2/1/4 标签 12 2/1/5 标签 12 2/2日期处理标签 12 2/2/1 标签 13 2/2/2标签 13 2/2/3标签 13 2/2/4标签 14 2/3数字处理标签 14 2/3/1标签 14 2/3/2标签 15 三、函数标签库 15 四、 SQL标签库 16 4/0/1 16 / 20 16 4/0/2 16 4/0/3标签 17 4/0/4标签 17 4/0/5标签 17 五、XML标签库 18 一、核心标签库 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%String kjk="ui,er,san,si"; request.setAttribute("kjk",kjk); %> <%String array[]={"00","11","22","33"}; request.setAttribute("array",array);%> gggdfd / 20 1/1通用标签 1/1/1标签 属性名 描述 是否必需 默认值 Value 要输出的信息,可以是常量或者EL表达式 是 无 default Value属性的值为null时输出的信息 否 标签体的内容 escapeXml 是否忽略value属性值的XML标签 否 true 1/1/2标签 属性名 描述 是否必要 默认值 Value 要设定的值,可以是常量字符串或EL表达式 否 标签体内容 Target 需要设定属性的对象 否 无 Property 被赋值的属性名 否 无 Var 被赋值的变量名 否 无 Scope 变量的使用范围,取值为page,request,session,application之一 否 Page 注:如果target属性存在,则property属性必须存在 4种用法: 1 2 lixiaofeng 3 4 lixiaofeng 例子: <% HashMap hm=new HashMap(); hm.put("actor1","葛优"); / 20 hm.put("actress1","林心如"); hm.put("actress2","赵薇"); request.setAttribute("hm",hm); request.setAttribute("money",new Integer("100")); %> 梁朝伟 1/1/3标签 属性名 描述 是否必要 默认值 Var 被删除的变量或对象名 是 无 Scope 被删除的变量或对象所在的范围,取值为page,request,session,application之一 否 范围 注:标签也可以用于删除变量和对象,如: 当value的值表达式微null是,则变量或对象将从指定范围内删除,若不指定范围,将删除所有找到的 1/1/4标签 属性名 描述 是否必要 默认值 Var 接收异常信息的变量名 否 无 / 20 <%String s1="abc"; out.print(s1.length()); %> 无异常:${ex1}
<% String s2=null; out.print(s2.length()); %> 异常1:${ex2}
<%int a=0; out.print(8/a); %> 异常2:${ex3} 1/2条件标签 //条件标签 1/2/1 属性名 描述 是否必需 默认值 test 用于条件判断的布尔表达式 是 无 Var 存储条件判断结果的变量 否 无 Scope Var变量的使用范围,取值为page,request,session,application之一 否 page ${now.hours}${now.minutes}${now.seconds} / 20 上午好 下午好 晚上好 1/2/2 成绩很不理想,继续努力 成绩一般,继续努力 成绩不错,继续努力 成绩很好,继续保持 成绩输入有误 1/3循环迭代标签 //循环迭代标签 1/3/1 属性名 描述 是否必须 默认值 Items 用于迭代的对象 否 无 begin 循环迭代的起始位置 否 0 end 循环迭代的结束位置 否 对象最后一个元素 / 20 Step 循环迭代的步长 否 1 Var 循环迭代的当前元素对象 否 否 varStatus 循环迭代的当前元素的状态 否 否 注:items或者begin和end属性必须指定其一varstatus包括4个状态:index,count,first,last <% HashMap hm=new HashMap(); hm.put("age","30"); hm.put("height","150"); hm.put("sex","female"); hm.put("get","5k"); request.setAttribute("hm",hm); %> ${mm.key} ${mm.value} ${ss.index} ${ss.first} ${ss.last} ${ss.count}

"氮气,氧气,二氧化碳,氢气,硫化氢,一氧化碳,二氧化硫"

begin:${sy.begin} end:${sy.end} ${vv} 总数为:${sy.count} 1/3/2标签 属性名 描述 是否必要 默认值 Items StringTokenizer 是 无 Delims 分隔符 是 无 Begin 起始位置 否 0 End 结束位置 否 StringTokenizer的最后一个元素 Step 步长 否 1 Var 当前元素 否 否 varStatus 当前元素的状态 否 否 注:只能遍历以逗号作为分隔符的StringTokenizer对象,可以同时指定一个或者多个分隔符 / 20 <%String kjk="ui,er,san,si"; request.setAttribute("kjk",kjk); %> ${ss.count}: ${fruit}
${ss.count}: ${fruit}

${ss.count}: ${fruit}

${ss.count}: ${fruit}

${ss.count}: ${fruit}

${ss.count}: ${fruit}
/ 20 1/4URL相关标签 实现资源导入,格式化URL,参数传递和重定向等,有4个: 1/4/1 属性名 描述 是否必要 默认值 URL 导入资源的URL 是 无 Context /加上本地WEB应用的名字,当URL属性为相对地址时使用 否 当前的WEB应用 charEncoding 导入资源时使用的编码字符集 否 ISO-8859-1 Var 保存导入内容的变量 否 输出到页面 Scope 变量使用的范围 否 Page VarReader 保存导入内容的Java.io.Reader对象 否 无 导入其他服务器资源 导入本地资源 ${vv} 需要在tomcat的server.xml的内添加 1/4/2 标签 属性名 描述 是否必要 默认值 Value 用于输出或格式化的url 是 无 Context /加上本地WEB应用的名字,当URL属性为相对地址时使用 否 当前的应用 Var 保存导入内容的变量 否 输出到页面 Scope 变量的使用范围 否 Page 的用法: 1、 2、 ….. 3、 4、 ….. 输出绝对URL:
输出相对URL:
输出带参数的URL:
保存格式化: 绝对URL: 电子图书
保存相对地址: web应用
保存带参数的URL: fengfei 1/4/3 标签 属性名 描述 是否必须 默认值 Name 参数的名字 是 无 Value 参数的值 否 标签体内容 注:不能独立使用,只能用于 标签体内添加参数 / 20 1/4/4 标签 属性名 描述 是否必须 默认值 URL 请求被重定向的URL 是 无 Context /加上本地WEB应用的名字,当URL属性为相对地址时使用 否 当前web应用 注:相当于response的sendredirect(),它能支持中文的自动编码,支持自动URL重写,并允许使用不同的WEB应用的相对URL Red Female singsong 二、格式标签库 <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 2/1国际化(I18N)标签 国际化(又I18N) 包括: / 20 2/1/1 标签 属性名 描述 是否必要 默认值 Value 区域属性,可以是类型为Java.util.Location的表达式,也可以是字符串,字符串格式为“11”或“11_CC”或11-CC,11为语言代码,CC为国家代码。参见: http:www.sil.org/iso639-3/codes.asp http:www.iso.org/iso/country_codes/iso_3166_code_lists/en glish_country_name_and_code_elements.html 是 无 Variant 厂商或浏览器的特点变量如:WIN ,MAC 否 无 Scope 区域设定的适用范围 否 Page 2/1/2 标签 属性名 描述 是否必要 默认值 Value 请求中字符的编码格式,参见:http:www.iana.org/assignments/character-sets 是 无 2/1/3 标签 属性名 描述 是否必须 默认值 Basename 资源包文件的基本名称后缀由jsp容器根据页面的区域属性来确定 是 无 Prefix 文件项中“键”的前缀 否 无 2/1/4 标签 属性名 描述 是否必要 默认值 Basename 资源包文件的基本名称后缀由jsp容器根据页面的区域属性来确定 是 无 Var 存储资源包的变量 否 存储在javax.servlet.jsp.jstl.fmt.loca lizatinoContext中 Scope 变量的使用范围 否 Page / 20 2/1/5 标签 属性名 描述 是否必须 默认值 Key 资源文件的键,如果标签内部使用,键的前面会自动加上中的prefix属性值的的前缀 否 标签体内容 Bundle 值为表达式,当标签独立使用时,该属性指明所使用的资源包 否 默认资源包 Var 存储键所对应的值的变量 否 输出到页面 Scope 变量的使用范围 否 Page 2/2日期处理标签 2/2/1 标签 属性值 描述 是否必要 默认值 Value 表示时区的字符串或者Java.util.TimeZone类型的对象 是 无 2/2/2标签 属性名 描述 是否必需 默认值 Value 表示时区的字符串或者Java.util.TimeZone类型的对象 是 无 Var 存储时区的变量 否 存储在javax.servlet.jsp.jstl.fmt. timeZone中 Scope 变量的使用范围 否 Page 2/2/3标签 属性名 描述 是否必须 默认值 Value 用于格式化的日期对象 是 无 Type Date、Time、both 否 Date DateStyle default,short,medium,long或full 否 default TimeStyle default,short,medium,long或full 否 default / 20 pattern 自定义格式化的格式如:yyyy-mm-dd格式 否 无 timeZone 格式化使用时区 否 默认时区 Var 存储格式化结果的变量 否 输出到页面 Scope 变量的使用范围 否 Page Pattern表 字符 描述 字符 描述 G 公元(如公元,AD等) H 小时(按天计,0-23) y 年(yy为两位数,yyyy为四位) k 小时(按天计,1-24) M 月(MM为数字月,MMM为月名) K 小时(按上下午计,0-11) W 周(一年中的第几周) h 小时(按上下午计,1-12) w 周(一月中的第几周) m 分 D 日(一年中的第几天) s 秒 d 日(一月中的第几天) S 毫秒 F 月份中的星期 z 时区名:(如GMT+08:00) E 一周内的星期几 Z 时区编号(如:+0800) a 上下午指示(如上午AM等) 2/2/4标签 属性名 描述 是否必须 默认值 Value 用于解析的字符串 否 标签体内容 type date、time,both 否 date dateStyle default.short,,medium.long,full 否 default ParseLocale 解析字符串时使用的区域属性 否 默认区域属性 TimeStyle default.short,,medium.long,full 否 default Pattern 自定义解析格式 否 无 timeZone 所解析的字符串的时区 否 默认时区 Var 存储解析后日期对象的变量 否 输出到页面 Scope 变量的使用范围 否 Page 2/3数字处理标签 2/3/1标签 属性名 描述 是否必须 默认值 Value 用于格式化的数值 否 标签体内容 / 20 type Number,curency或percent 否 Number pattern 自定义格式化的格式如:$#,##00.0# 否 无 currencyCode 当类型为curency是,指定货币编码 否 取决于默认区域属性 curencySymbol 当类型为curency是,指定货币符号 否 取决于默认区域属性 groupingUsed 是否对数值分组,取值为true或false 否 True maxIntegerDigits 最大整数位 否 无 minIntegerDigits 最小整数位 否 无 maxFractionDigits 最大小数位 否 无 minFractionDigits 最小小数位 否 无 Var 存储格式化结果的变量 否 输出到页面 Scope 变量的使用范围 否 Page 2/3/2标签 属性名 描述 是否必须 默认值 value 用于解析的字符串 否 标签体内容 type Number,curency或percent 否 number parseLocale 解析时使用的区域属性 否 默认区域属性 integerOnly 解析成整数(true)或解析成浮点数(false) 否 False pattern 自定义解析格式 否 无 Var 存储解析后数值类型的变量 否 输出到页面 Scope 变量的使用范围 否 Page 三、函数标签库 <%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 使用: ${fn:函数名(参数列表)} 函数 说明 contains(s1,s2) 判断字符串s2是否在字符串s1中 containsIgnoreCase(s1,s2) 同上,但忽略大小写 startsWith(s1,s2) 判断字符串s1是否以字符串s2开头 endsWith(s1,s2) 判断字符串s1是否以字符串s2结尾 escapeXml(s) 忽略字符串s中的Xml标签 indexOf(s1,s2) 返回字符串s2在字符串s1中第一次出现的位置 / 20 split( s1,s2) 用s2指定的分隔字符集分割字符串s1,返回字符串数组 join(String[] s1,s2) 将字符串数组s1的所有字符串,以s2中指定的链接符组合 replace(s1,s2,s3) 将字符串s1中的子串s2用字符串s3替换 trim(s) 取出s两端空格 substring(s,i1,i2) 返回字符串s中从i1开始到i2-1结束的子串 substringAfter(s1,s2) 抽取字符串s1中子串s2后的字符串 substringBefore(s1,s2) 抽取字符串s1中子串s2前的字符串 toLowerCase(s) 转换字符串s中的所有字符串转化为小写字符 toUpperCase(s) 转换字符串s中的所有字符串转化为大写字符 length(s) 返回字符串s的长度 例子: 函数表达式:\${fn:contains("dddd","dhkjhj")} 结果:${fn:contains("dddd","dhkjhj")} 四、 SQL标签库 <%@taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> 4/0/1 属性名 描述 是否必须 默认值 dataSource JNDI中dataSource的名字或dataSource对象 无 driver JDBC驱动程序名字 无 url 数据库连接的JDBC url 无 user 访问数据库的用户名 无 password 访问数据库的密码 无 var 存储数据源的变量 默认的数据源变量 scope 变量使用范围 Page / 20 4/0/2 属性名 描述 是否必须 默认值 sql 执行查询的SQL语句 否 标签体内容 dataSource 用于指明所使用的数据源 否 默认数据源 maxRows 查询结果的最大行数 否 无限制 startRow 查询结果的起始行索引值 否 0 var 存储查询结果的变量 是 无 scope 变量的使用范围 否 Page ${row.admin_login_name} 4/0/3标签 属性名 描述 是否必须 默认值 sql 执行更新的SQL语句 否 标签体的内容 dataSource 用于指明所使用的数据源 否 默认数据源 var 存储更新操作所影响的行数的变量 是 无 scope 变量使用范围 否 page insert into table_user_base values(1022,'dddd','123456',0.0,0,0) 4/0/4标签 若标签中使用了带参数的SQL语句(参数用?表示),则需要设置执行时传递的参数的值,只有一个属性value / 20 属性名 描述 是否必需 默认值 value 用于指明日期类型参数的值 否 标签体内容 type Cajsu8的具体类型,取值为date,time,timestamp 否 timestamp update table_user_base set user_base_name=? where id=1001 4/0/5标签 属性名 描述 是否必需 默认值 dataSource 用于指明所使用的数据源 否 默认数据源 isolationLevel 事物处理的隔离级别,取值为read_committed、read_uncommitted、repeatable_read、serializable 否 数据源指定的数据库的默认隔离级别 五、XML标签库 <%@taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %> JSTL的XML标签库提供了解析XML文档。提取xml文档中数据、流程控制和XSLT转换等功能。分为:xml核心标签,xml流程标签,xml转换标签 xml核心标签: xml流程标签: xml转换标签: 标签用于解析xml文档,它解析的可以是代表xml文档的String或Reader对象,也可以是其标签体内的xml数据 属性名 描述 是否必需 默认值 doc(xml) 用于解析的xml文件,可以是String或Reader对象,推荐使用doc属性 否 标签体内容 systemId 为解析的xml文档指定系统标识uri 否 无 filter 解析xml之前使用的XMLFilter类型的过滤器 否 无 var 存储解析结果的变量 否 无 scope Var变量的使用范围 否 Page varDom 存储解析结果为DOM类型的变量 否 无 scopeDom varDom变量的使用范围 否 Page 标签用于计算Xpath表达式的值并输出 / 20 属性名 描述 是否必需 默认值 select 用于计算Xpath表达式 是 无 escapeXml 输出表达式的值时,是否忽略其中的XML标签 否 True 标签用于计算Xpath表达式并将其结果保存在变量中 属性名 描述 是否必需 默认值 select 用于计算Xpath表达式 是 无 var 存储表达式结果的变量 是 无 scope 变量的使用范围 否 Page 注:Xpath表示数据在XML文档中的存储位置,通过计算Xpath表达式的值,可以提取xml文档中的数据 / 20

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档