资源描述
JSTL1标签
在JSTL1.1中有Core标签库、XML Processing标签库、I18N formatting标签库、Database access标签库和Functions标签库。
标签库
URL
前缀
Core标签库
c
XML Processing标签库
x
I18N formatting标签库
fmt
Database access标签库
sql
Functions标签库
fn
一、 Core标签库
Core标签库,又被称为核心标签库,该标签库的工作是对于JSP页面一般处理的封装。在该标签库中包含14个标签,分为四类:
(1)、多用途核心标签:<c:out>、<c:set>、<c:remove>、<c:catch>
(2)、条件控制标签:<c:if>、<c:choose>、<c:when>、<c:otherwise>
(3)、循环控制标签:<c:forEach>、<c:forTakens>
(4)、URL相关标签:<c:import>、<c:url>、<c:redirect>、<c:para>
1、<c:out>----à显示标签,用于显示数据
属性 ①:value-------à输出到页面的数据,可以是EL表达式(必须)
②:default-----à当value为null时显示的数据(可选)
③:escapeXml---à是否将value中的内容按照原样输出,默认为true。当escapeXml为true时会默认将<,>,’,”,&转换成<,>,',"和&。(可选)
2、<c:set>-----à用于赋值,为变量或JavaBean中的变量属性赋值
属性 ①:value ----à值,可以是EL表达式(必须)
②:target----à被赋值的JavaBean的名称,必须存在property属性(可选)
③:property--àJavaBean实例的变量属性名称(可选)
④:var-------à被赋值的变量名(可选)
⑤:scope-----à变量的作用范围,若没有指定,默认为page(可选)
3、<c:remove>-----à用于删除存在于scope中的变量
①:var----à需要被删除的变量名
②:scope---à变量的作用范围,若没有抒写,默认为全部查找(可选)
4、<c:catch>------à用于异常捕获
①:var-----à描述异常的变量(可选,若没有该变量,那么仅仅捕捉异常而不做任何事情,若定义了var属性,则可以利用var所定义的异常变量进行判断转发到其他页面或提示信息)
5、<c:if>----à用于简单的条件语句
①:test---à需要判断的条件
②:var----à保存判断结果true或false的变量名,供之后的工作使用(可选)
③:scope---à变量的作用范围,默认为保存于page范围中的变量(可选)
6、<c:choose>、<c:when>和<c:otherwise>---à用于复杂判断
l <c:choose>标签没有属性,可以被视为是你标签,<c:when><c:otherwise>将作为其子标签来使用
l <c:when>标签等价于”if”语句,它包含一个test属性,该属性表示需要判断的条件
l <c:otherwise>标签没有属性,它等价于”else”语句
7、<c:forEach>------à循环控制标签
①:items-----à进行循环的集合(可选)
②:begin-----à开始条件(可选)
③:end-------à结束条件(可选)
④:step------à循环的步长,默认为1(可选)
⑤:var-------à做循环的对象变量名,若存在items属性,则表示循环集合中对象的变量名(可选)
⑥:varStatus------à显示循环状态的变量(可选)
8、<c:forTokens>------à用于分隔字符,可以根据某个分隔符分隔指定字符串
①:items-----à进行分隔的EL表达式或常量(可选)
②:delims----à分隔符(可选)
③:begin-----à开始条件(可选)
④:end-------à结束条件(可选)
⑤:step------à循环的步长,默认为1(可选)
⑥:var-------à做循环的对象变量名(可选)
⑦:varStatus----à显示循环状态的变量(可选)
9、<c:import>-----à包含另一个JSP页面到本页面中来
①:url----à需要导入页面的URL
②:context----àWebContext该属性用于在不同的Context下导入页面,当出现context属性时,必须以”/”开头,此时也需要url属性以”/”开头(可选)
③:charEncoding---à导入页面的字符集(可选)
④:var--------à可以定义导入文本的变量名(可选)
⑤:scope------à导入文本的变量名作用范围(可选)
⑥:varReader------à接受文本的java.io.Reader类变量名(可选)
10、<c:url>-----à用于得到一个URL地址
①:value----à需要导入页面的URL
②:context----àWebContext该属性用于在不同的Context下导入页面,当出现context属性时,必须以”/”开头,此时也需要url属性以”/”开头(可选)
③:charEncoding---àURL的字符集(可选)
④:var--------à存储URL的变量名(可选)
⑤:scope------à变量名作用范围(可选)
11、<c:redirect>----à页面重定向,相当于response.setRedirect方法的工作
①:value----à需要导入页面的URL
②:context----àWebContext该属性用于在不同的Context下导入页面,当出现context属性时,必须以”/”开头,此时也需要url属性以”/”开头(可选)
12、<c:param>-----à用于包含或重定向的页面传递参数
①:name----à传递的参数名
②:value---à传递的参数值(可选)
二、 XML Processing标签库
1、<x:choose>、<x:when>和<x:otherwise>-------------à与Core标签库中的<c:choose>、<c:when>和<c:otherwise>标签用法一致
①:<x:when>属性--àselect: XPath表达式
2、<x:out>----à与core标签库中的<c:out>标签用法一致
①:select----àXPath语句
②:escapeXml---à是否将value中的内容按照原样输出,默认为true。当escapeXml为true时会默认将<,>,’,”,&转换成<,>,',"和&。(可选)
3、<x:if>----à允许由XPath的boolean()函数得到
①:select-----àXPath表达式
②:var--------à存储结果的变量名(可选)
③:scope------à变量的作用范围(可选)
4、<x:forEach>----à循环控制标签
①:var--à做循环的对象变量名,表示XPath表达式结果集合中的一个对象(可选)
②:select----àXPath表达式,结果是一个集合,将对该集合进行循环
③:begin-----à开始条件(可选)
④:end-------à结束条件(可选)
⑤:step------à循环的步长,默认为1(可选)
⑥:varStatus------à显示循环状态的变量(可选)
5、<x:param>------à用于包含或重定向的页面传递参数
①:name----à传递的参数名
②:value---à传递的参数值(可选)
6、<x:parse>-----à是XML标签库的核心,它是用来解析XML文件
①:var--------à将解析后的XML保存在该属性所抒写的变量中
②:varDom-----à抒写保存的变量为org.w3c.dom.Document接口类型
③:scope------à变量的作用域
④:scopeDom---àorg.w3c.dom.Document的接口类型变量作用范围
⑤:xml--------à
⑥:doc--------à源XML的内容
⑦:systemId-à定义一个URI,该URI将被使用到XML文件中以接入其他资源文件
⑧:filter-----à该属性必须为org.xml.sax.XMLFilter类的一个实例,可以使用EL表达式传入,将对XML文件做过滤得到的自身需要的部分
7、<x:set>-------à将某个源XML中元素的实体内容或属性保存到一个变量中去
①:var--------à保存结果的变量名
②:select-----àXPath的表达式
③:scope------à变量的作用范围(可选)
8、<x:transform>-à使用XSLT(转换XML格式的语言)为页面显示数据做格式化处理
①:var------------à将格式化后的XML文件保存在该属性所指定的变量中,保存在的变量为org.w3c.dom.Document接口类型(可选)
②:scope----------à变量的作用范围(可选)
③:result--------------------------à保存转化结果的变量,保存的变量为javax.xml.transform.Result类型的实例(可选)
④:xml------------à
⑤:doc------------à源XML的内容,该属性的内容应该为String、java.io.Reader、javax.xml.transform.Source、org.w3c.dom.Document的实例,或者从<x:parse>、<x:set>两个标签得到。可以用xml属性来替代,但是不被推荐(可选)
⑥:xmlSystemId----à
⑦:docSystemId----à
⑧:xslt------à源XSLT的内容,该属性的内容应该为String,java.io.Reader javax.xml.transform.Source的实例(可选)
⑨:xsltSystemId---à
三、 I18N formatting标签库
I18N formatting标签库就是用于在JSP页面中做国际化的动作。在该标签库中的标签一共有12个,被分为两大类:
(1)、国际化核心标签:<fmt:setLocale>、<fmt:bundle>、<fmt:setBundle>、<fmt:message>、<fmt:param>、<fmt:requestEncoding>
(2)、格式化标签:<fmt:timeZone>、<fmt:setTimeZone>、<fmt:formatNumber>、<fmt:parseNumber>、<fmt:formatDate>、<fmt:parseDate>
1、<fmt:setLocale>----à用于设置本地化环境
①:value ---àLocale环境的指定,可以是java.util.Locale或String类型的实例
②:variant--à供应商或特定浏览器的variant,更多信息请查看java文档java.util.Locale(可选)
③:scope ---àLocale环境变量的作用范围(可选)
2、<fmt:bundle>----à用于资源配置文件绑定,只能用于其标签体内
①:basename----à资源绑定包的名称,这是该包的完全限定资源名称,只须指定文件名,而无需指定后缀名。
②:prefix----à任何嵌套的<fmt:message>动作的消息键的值的前缀(可选)
3、<fmt:setBundle>----à用于资源配置文件绑定,允许将资源配置文件保存为一个变量,该变量可用于之后的工作
①:basename-------à资源绑定包的名称,这是该包的完全限定资源名称,只须指定文件名,而无需指定后缀名。
②:var-------à保存资源文件的变量名(可选)
③:scope-----à变量的作用范围(可选)
4、<fmt:message>-----à用于显示资源配置文件的信息
①:key-------à资源配置文件的“键”指定(可选)
②:bundle----à若<fmt:setBundle>保存了资源配置文件,该属性就可以从保存的资源文件中进行查找。(可选)
③:var------à保存显示信息的变量(可选)
④:scope----à变量的作用范围(可选)
5、<fmt:param>------à用于参数的传递,该标签应该位于<fmt:message>标签内,为<fmt:message>标签提供参数值
①:value----à参数值,也可将参数值写在标签体内(可选)
6、<fmt:requestEncoding>---à设置request的字符编码
①:value---à字符编码值。(可选)
7、<fmt:timeZone>-----à用于设定时区,在其标签体内使用
①:value----à参数值
8、<fmt:setTimeZone>----à用于设定时区。允许将其信息保存于一个变量中,用于之后工作中的使用
①:value---à参数值
②:var-----à变量名(可选)
③:scope---à变量的作用范围(可选)
9、<fmt:formatNumber>-----à格式化数字
①:value---à需要格式化的数据(可选)
②:type----à指定value的值是被格式化为数字(number)、货币(currency)还是百分比(percent),默认number。(可选)
③:pattern-à自定义格式模式(可选)
④:currencyCode----àISO 4217货币代码,仅用于当type属性值为currency时(可选)
⑤:currencySymbol--à货币符号,仅用于当type属性值为currency时(可选)
⑥:groupingUsed----à指定格式化输出是否包含分组分隔符(可选)
⑦:maxIntegerDigits--à格式化输出的整数部分的最大位数(可选)
⑧:minIntegerDigits--à格式化输出的整数部分的最小位数(可选)
⑨:maxFractionDigits-à格式化输出的小数部分的最大位数(可选)
⑩:minFractionDigits-à格式化输出的小数部分的最小位数(可选)
⑪:var------à存储数据的变量名(可选)
⑫:scope----à变量的作用范围(可选)
10、<fmt:parseNumber>----à解析一个数字、货币或百分比,并将结果作为Number类型的实例返回
①:value-----à将被解析的字符串(可选)
②:type------à指定value值将被解析为什么类型(可选)
③:pattern---à指定value值将被解析为什么模式(可选)
④:parseLocale---à以本地化的形式来解析字符串(可选)
⑤:integerOnly--à指定是否只解析给定数据的整数部分(百分比中不能用,可选)
⑥:var-----à存储结果的变量(可选)
⑦:scope---à变量的作用范围(可选)
11、<fmt:formatDate>-----à格式化日期
①:value----à需要格式化的时间和(或)日期
②:type-----à指定value值的格式化模式为date、time还是both,默认为date(可选)
③:dateStyle---à预定义日期的格式风格,仅用于当type属性值为date或both时(可选)
④:timeStyle---à预定义时间的格式风格,仅用于当type属性值为time或both时(可选)
⑤:pattern-----à自定义日期和时间的格式化风格(可选)
⑥:timeZone----à指定格式化时间的时区(可选)
⑦:var---------à存储数据的变量名(可选)
⑧:scope-------à变量的作用范围(可选)
12、<fmt:parseDate>-----à解析一个日期,并将结果作为Date类型的实例返回
①:value-----à将被解析的字符串
②:type------à指定value值将被解析为什么类型(可选)
③:dateStyle---à预定义日期的格式风格,仅用于当type属性值为date或both时(可选) 值为:long,short,medium,full
④:timeStyle---à预定义时间的格式风格,仅用于当type属性值为time或both时(可选) 值为:long,short,medium,full
⑤:pattern-----à自定义日期和时间的格式化风格(可选)
⑥:timeZone----à指定格式化时间的时区(可选)
⑦:parseLocale--à
⑧:var------à存储数据的变量名
⑨:scope----à变量的作用范围
四、 Database access标签库
Database access提供了与数据库相关操作的标签。该标签一共有6个标签,其按功能划分为两大类:
(1)、设置数据源标签:<sql:setDataSource>
(2)、SQL指令标签:<sql:query>,<sql:update>,<sql:param>, <sql:dateParam>,<sql:transaction>
1、<sql:setDataSource>----à配置数据源
①:var-------à存储数据的变量名(可选)
②:scope-----à变量的作用范围(可选)
③:dataSource---à数据源(可选)
④:driver----à使用JDBC的驱动(可选)
⑤:url-------à连接数据库的路径(可选)
⑥:user------à连接数据库的用户名(可选)
⑦:password--à连接数据库的密码(可选)
2、<sql:query>-----à查询数据
①:var-----à存储数据的变量名
②:scope---à变量的作用范围(可选)
③:sql-----à查询数据的SQL语句(可选)
④:dataSource---à数据源对象(可选)
⑤:startRow-----à设定从哪一行数据开始(可选)
⑥:maxRows------à设定最多可以暂存数据的行数(可选)
返回结果Result的五个方法:
String[] getColumnNames();--à返回结果集中列的名称
Map[] getRows();------à 每个Map存储行数据,列名作为key,对应列的数据作为value
int getRowCount();-------------à获得结果的总行数
Object[][]getRowsByIndex();----à第一位表示查询结果的行,第二列查询结果的列
boolean isLimitedByMaxRows();--à是否设置了maxRows属性
五个属性:columnNames,rowCount,rowsByIndex,LimitedByMaxRows, rows
3、<sql:update>-----à实现操作数据库,如create、update、delete和insert等SQL语句,并返回影响数据记录的条数。
①:var---à存储数据的变量名(可选)
②:scope---à变量的作用范围(可选)
③:sql---à操作数据库的SQL语句(可选)
④:dataSource---à数据源对象(可选)
4、<sql:param>-----à动态的为SQL语句设定参数,与<sql:query>共同使用
①:value----à参数值(可选)
5、<sql:dateParam>----à为SQL标签填充日期类型的参数
①:value-----à参数值
②:type------à指定填充日期的类型timestamp(全部日期和时间)、time(填充的参数为时间)、date(填充的参数为日期)(可选)
6、<sql:transaction>------à该标签提供了数据操作的一种安全机制(即事务回滚),当操作数据库的某条SQL语句发生异常时,取消<sql:transaction>标签体中的所有操作,恢复原来的状态,重新对数据库进行操作
①:dataSource----à数据源对象(可选)
②:isolation-----à事务隔离级别。如果没有指定,已经配置了的数据源就是隔离级别(可选)
五、 Functions标签库
1、boolean fn:contains(string,substring)--------à判断参数string中是否包含参数substring,如果包含返回true,否则false
2、boolean fn:containsIgnoreCase(string,substring)---à判断参数string中是否包含参数substring(忽略大小写),如果包含返回true,否则false
3、boolean fn:endsWith(string,suffix)----à判断参数string是否是以参数suffix结尾,如果是返回true,否则false
4、String fn:escapeXml(string)---à将有特殊意义的XML(和HTML)转换为对应的XML character entity code,并返回
5、int fn:indexOf(string,substring)---à返回参数substring在参数string中第一次出现的位置
6、String fn:join(array,separator)---à将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。
7、int fn:length(item)------à返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。
8、String fn:replace(string,before,after)-----à返回一个String对象。用参数after字符串替换参数string中所出现参数before字符串的地方,并返回替换后的结果。
9、String [] fn:spli1t(string,separator)--------à返回一个数组,以参数separator分割符分割参数string,分割后的每一部分就是数组的一个元素
10、boolean fn:startsWith(string,prefix)-à如果参数string以参数prefix开头,返回true.
11、String fn:substring(string,begin,end)--à返回参数string部分字符串,从参数begin开始到参数end位置(包括end位置的字符)。
12、String fn:substringAfter(string,substring)--à返回参数substring在参数string中后面的那一部分字符串。
13、String fn:substringBefore(string,substring)-à返回参数substring在参数string中前面的那一部分字符串
14、String fn:toLowerCase(string)-----à将参数string所有的字符变为大写,并将其返回
15、String fn:toUpperCase(string)-----à将参数string所有的字符变为大写,并将其返回。
16、String fn:trim()------------à去除参数string首尾的空格,并将其返回。
展开阅读全文