《jsp动态开发与实例(第3版)课件07.ppt》由会员分享,可在线阅读,更多相关《jsp动态开发与实例(第3版)课件07.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第7章章 JSTL与标签函数库与标签函数库 jsp动态网站开发与实例(第3版)课件07 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第7章章 JSTL与标签函数库与标签函数库 JSTL运行环境运行环境 JSTL需要两个文件,jstl.jar和standard.jar,将其复制到Tomcat网站根目录下的文件夹WEB-INFlib当中,重新启动Tomcat。使用JSTL之前,必须引用taglib指令声明网页所要使用的标签种类。prefix代表标签种类的前缀词u
2、ri代表标签的URI 2JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 标签前缀词标签前缀词以及以及uri JSTL 标签种类标签种类前前 缀缀 词词uri核心标签 chttp:/ fmthttp:/ sqlhttp:/ xmlhttp:/ fnhttp:/ 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 JSTL 核心核心标签标签分分 类类标标 签签说说 明明一般行为 out将指定的数据内容输出至网页上 set将特定的数据内容储存至指定变量 remove移除指定变量的数据内容 catch补捉程序例外 URL处理 import载入外部
3、文件 url设定一个超级链接地址 redirect转向网页 param设定地址参数 流程控制 ifif流程判断式 When/otherwise/choose多重选择判断式 循环 forEach对象集合迭代列举操作 forTaokens解释以标记符号分隔字符串 4JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法语法1:未包含:未包含主体主体(body)语法语法2:包含:包含主体主体(body)default value5JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性设定属性设定属属 性性动动 态态类类 型型说说 明明v
4、alue是Object输出的内容escapeXml是boolean是否转换特殊字符 default是Object当输出结果为null,指定默认值 6JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 escapeXml escapeXml用来指定是否转换特殊字符,在默认的情形下,会将某些特殊字符,例如、&等等。字字 符符Entity Code>&'"7JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法语法1:将将value值储存至范围变量值储存至范围变量varName 语法语法2:将本体将本体(
5、body)内容设定储存至范围变量内容设定储存至范围变量varName body content语法语法3:将将value值储存至目标对象值储存至目标对象target的属性的属性propertyName 语法语法4:将本体将本体(body)内容储存至目标对象内容储存至目标对象target的属性的属性propertyName body content8JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性设定属性设定属属 性性动动 态态类类 型型说说 明明value是Object设定值 var否String 储存设定值的变量名称 scope否Stringvar的范围
6、 target是Object属性将被设定的目标对象 property是String目标对象的属性 9JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 用来移除某个范围变量的內容值 10JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 标签可以用来取得错误的信息,同时进行适当的处理,避免网页出现无法理解的内容。nested actionsnested actions为某一段可能发生错误的网页内容,var用来储存错误发生时,与错误有关的信息内容。11JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 建立
7、建立URL标签在JSP网页动态指定一个网址字符串。语法1:无本体内容 语法2:在本体内容指定数字符串 subtags12JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 URL属性属性属属 性性动态动态类类 型型说说 明明value是String指定操作的URL context是String 网站外部内容的设定值,一个URL资源的相对位置 var否String输出的范围变量名称 scope否Stringvar的范围。value代表所要设定的网页资源位置。context用来指定一个外部资源。var代表一个变量,如果有指定,URL资源的内容将被输出至指定的变量 sc
8、ope则是变量的范围,var变量只在这个范围里面有效。13JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法语法1:將:將属性属性值指定給值指定給value属性属性语法语法2:將:將属性属性值指定給值指定給本体本体內容內容parameter value14JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性属性 name属性必须有值,否则标签将不会有任何操作。属属 性性动动态态类类 型型说说 明明name是String参数名称value 是String 参数值15JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签
9、函数库与标签函数库 使用使用标签放在c:url本体內容当中,可用来设定连接所要传递的参数內容:所指定的参数值firstPara,与URL字符串一同被送出:urlstring?FirstPara=12345616JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法语法1:载入数据内容直接嵌入标签或是输出成为载入数据内容直接嵌入标签或是输出成为String对象对象 optional body content for subtags语法语法2:载入数据内容直接输出成载入数据内容直接输出成Reader对象对象 body content where varReader
10、is consumed by another action17JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性属性属属 性性动动态态类类 型型说说 明明url是String载入资源的URL context是String 网站外部内容的设定值 var否String输出的范围变量名称 scope否Stringvar的范围 charEncoding是String载入文件的字符编码 varReader否String输出的Reader对象名称 url代表外部资源所在位置的相对或是绝对URL。null或是空值都将产生一个JspException例外。url其他的属性都
11、可以省略。18JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 重新定向重新定向 语法语法1:无主体无主体(body)内容内容 语法语法2:指定搜寻字符串参数的主体内容指定搜寻字符串参数的主体内容 subtagsurl参数代表所要转向的URL地址,当你在网页当中设定标签,并且指定其url参数,网页运行后,将转向此url所代表的目标地址。19JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 流程控制流程控制核心标签中的if、choose和when,提供相当于程序语言流程控制的功能。与Java中的if语句相同。则被运用于需要进行多重判
12、断的场合,它本身是一个框架,判断内容则由和两个标签完成。20JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法1:无本体内容 语法2:包含本体内容 body content 21JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性属性属属 性性动动态态类类 型型说说 明明test是boolean载入资源的URL var否String输出判断结果的范围变量名称 scope否Stringvar的范围 test 是最重要的属性,为标签的条件判断式。var用来储存判断式的输出結果 22JSP 动态网页新技术动态网页新技术第第7章章
13、JSTL与标签函数库与标签函数库、与与 语法语法-body content(and subtags)与构成标签內容区块。语法语法-body content语法语法-conditional block23JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法语法1:迭代对象集合内容。迭代对象集合内容。body content语法语法2:迭代特定次数。迭代特定次数。body content24JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性属性属属 性性动动态态类类 型型说说 明明var否String储存指定的迭代成员 item
14、s是集合对象迭代的集合对象 varStatus否String储存指定迭代成员的状态内容 begin是int迭代的开始值 end是int迭代的结束值 step是int每次迭代的间隔值 25JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性属性var用来指定网页当中所要迭代的对象。items则是每一次迭代所取得的对象内容。varStatus为目前对象的相关内容信息。begin、end以及step则是相关的属性,分别代表迭代的开始、结束以及区间,这三个值相互影响,设定不正确可能导致程序流程的运行错误。26JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标
15、签函数库与标签函数库 标签主要针对字符串类型的数据作设计,它可以解析一段字符串当中,以特定符号所分隔的字符串成员。body content27JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 I18n 与国际化与国际化 分分 类类标标 签签说说 明明国际化设定 setLocale设定所使用的语言文化区域 requestEncoding指定编码方式 资源文件系结 bundle指定所要使用的资源文件名称 setBundle设定预设的资源文件 message取得资源文件的内容 数字日期格式 timeZone转换时区格式 setTimeZone储存时区信息 format
16、Number格式化数值 parseNumber解释特定数值格式 formatDate格式化日期 parseDate解释特定日期格式 28JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 设定区域设定区域-value属性是使用标签唯一不可省略的属性项目,它代表此标签所要指定的区域代号。value由两个小写字母所组成的语言代码(例如zh)所表示,另外,它还可以加上同样由两个字母所组成的国家代码,这两者之间以-或是_作连接。29JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 指定编码指定编码-value属性代表所要指定的编码方式字符串
17、,例如设为GB2312可以让网页正确的处理中文乱码的问题。30JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 存取存取 i18n 区域化区域化內容內容 支持国际间不同文化区域语系的网页功能,是通过提供其关联的资源文件来达到目的。用来指定所要使用的资源文件名称。设定默认的资源文件,当指定的资源文件不存在时,直接套用默认的资源文件。用来取得资源文件的内容,将其显示在网页上。31JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 I18n国际化网页国际化网页32JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函
18、数库 body content属属 性性动动态态类类 型型说说 明明basename是String资源文件的名称,不包含文件本身的扩展名 prefix是String指定标签当中,key值的预设前缀 33JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法语法1:无本体内容无本体内容 语法语法2:包含指定信息参数的本体内容包含指定信息参数的本体内容 subtags34JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法语法3:包含指定选择性信息参数与包含指定选择性信息参数与key值的本体内容值的本体内容 keyoptional
19、subtags35JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性属性属属 性性动动态态类类 型型说说 明明key是String所要取得的资源文件内容key值 bundle是LocalizationContext资源文件资料来源 var否String用来储存信息内容的变量名称 scope否String变量var的有效范围 36JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 标签的主要功能,便是用来设定所要读取的预设资源文件,除了basename,var用以指定变量的名称,此变量储存所要读取的资源文件内容。资源文件是一种扩展
20、名为properties的文本文件,可以利用notepad等简 单的文字编辑器进行编辑,其内容由 键/值(key/value)格式的数据所组成 标签指定所要取得的键,取出对应的值(value)。37JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 格式化格式化日期、时间、货币等数据,不同的地区有不同的显示方式。通过格式化标签的设定,网页当中的数据内容,可以随着不同的文化区域特性,而改变其显示的数据格式。设定时区的和。数字格式化标签有和。日期时间显示格式化标签有和。38JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 设定时区设定时
21、区语法语法 body content针对标签当中的本体内容,进行格式化,其唯一的属性是value,代表使用的时区,使用这个标签,时区设定的影响将只对本体内容有效。语法语法var属性用来储存时区的设定,当然这个属性是选择性的,而scopde则是变量的有效范围。39JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 数字数字格式化格式化 语法语法1:无本体内容无本体内容 40JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 数字数字格式化格式化语法语法2:指定格式化数值的本体内容指定格式化数值的本体内容 numeric value to
22、 be formatted 41JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性属性属属 性性动动态态类类 型型说说 明明value是String/Number被格式化的数值 var否String储存格式化数值的范围变量 scope否String变量范围 type是String指定数值被格式化成为数字、货币或是百分比形式 pattern是String自定义格式化样式 currencyCode是StringISO4217货币代码,搭配格式(type)作显示,只有设定为货币格式的时候,这个值才有意义 currencySymbol是String货币符号,搭配格式
23、(type)作显示,只有设定为货币格式的时候,这个值才有意义 42JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性属性属属 性性动动态态类类 型型说说 明明groupingUsed是boolean指定是否格式化输出包含分隔符 maxIntegerDigits是int格式化输出结果当中,整数字数部份显示的最大位数 minIntegerDigits是int格式化输出结果当中,整数字数部份显示的最小位数 maxFractionDigits是int格式化输出结果当中,整数字数部份显示的最大位数 minFractionDigits是int格式化输出结果当中,整数字数
24、部份显示的最小位数 43JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性说明属性说明分别代表所要进行格式处理的数值,储存格式化结果的变量以及可指定变量范围的scope。type指定格式化的样式,number、currency以及代表指定的数据将以数值、货币或是百分比的形式进行格式化,pattern则是让用户能够自行指定格式化的样式。currencyCode与currencySymbol是用来表示货币数据的专用属性,与type属性当中的货币(currecy)格式搭配使用,currencyCode为ISO4217所规范的货币代码,如美金的USD、或是大陆人民币
25、的CNY等等。currencySymbol则代表货币的显示符号如$。groupingUsed指定是否格式化的数字以分隔符作显示。maxIntegerDigits、minIntegerDigits、maxFractionDigits和minFractionDigits,均用以来控制数值的显示位数,前两个指定一个数值当中,最大与最小可显示的位数,后两个则是指定小数的位数。44JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法语法1:无本体内容无本体内容 45JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 语法语法2:包含本体内容
26、包含本体内容 numeric value to be parsed 46JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 日期格式化日期格式化 47JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 属性属性属属 性性动动态态类类 型型说说 明明value是java.util.Date格式化的日期或是时间数据 type是String指定是否格式化日期、时间或是两者 dateStyle是String预先定义的日期格式化样式 timeStyle是String预先定义的时间格式化样式 pattern是String自定义格式化样式 time
27、Zone是String/java.util.TimeZone显示格式化之时间数据的时区 var是String储存格式化结果的变量 scope否String变量范围 48JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 函数标签函数标签分分 类类标标 签签说说 明明字符串比对 contains查看是否字符串当中包含指定的子字符串 containsIgnore-Case在忽略大小写的情形下,检视是否字符串当中包含指定的子字符串 endsWith查看是否字符串以指定的字尾作结束 startsWith查看是否字符串以指定的前缀开始 indexOf返回字符串之间第一个符合
28、指定子字符串的索引值 获取子字符串 substring返回字符串当中指定区域的子字符串 substringAfter返回字符串当中指定字符串后面的子字符串 substringBefore返回字符串当中指定字符串之前的子字符串 49JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 函数标签函数标签分分 类类标标 签签说说 明明字符串调整 toLowerCase将字符串中所有的字符转换成为小写 toUpperCase将字符串中所有的字符转换成为大写 trim移除字符串两端的空白 replace以指定的子字符串取代部份字符串 split分割字符串成为一个字符串数组 j
29、oin将一个字符串数组以指定的符号合并成为字符串 其它 escapeXml转换跳脱字符 length返回字符串的字符数目 50JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 字符串比对字符串比对 语法语法containsfn:contains(string,substring)containsIgnoreCasefn:containsIgnoreCase(string,substring)属性属性参数类型说明stringString函数所要比对的字符串 substringString用以比对的子字符串 51JSP 动态网页新技术动态网页新技术第第7章章 JST
30、L与标签函数库与标签函数库 字符串比对字符串比对语法语法endsWithfn:endsWith(string,suffix)-booleanstartsWithfn:startsWith(string,prefix)-boolean属性属性参参 数数类类 型型说说 明明stringString函数所要比对的字符串 Suffix/prefixString用以比对的前缀或字尾 52JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 indexOfindexOf提供取得字符串当中,某个子字符串第一次于其中出现的位置索引,索引值以0为基础。语法语法fn:indexOf(s
31、tring,substring)53JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 获取获取子子字符串字符串 语法语法fn:substring(string,beginIndex,endIndex)属性属性参参 数数类类 型型说说 明明stringString函数所要操作的字符串 beginIndexint获取子字符串的起始索引值 endIndexint获取子字符串的结束索引值 54JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 获取获取子子字符串字符串语法语法substringAfterfn:substringAfter(s
32、tring,substring)substringBeforefn:substringBefore(string,substring)这2个语法接受2个参数,其中第2个参数为所要比对的子字符串,其返回值为所获取的子字符串。55JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 字符串调整字符串调整-toLowerCase&toUpperCase 语法语法toLowerCasefn:toLowerCase(string)-StringtoUpperCasefn:toUpperCase(string)-String语法语法fn:trim(string)-String
33、56JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 字符串调整字符串调整-split&join语法语法splitfn:split(string,delimiters)-Stringjoinfn:join(array,separator)-String57JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 字符串调整字符串调整-replace语法语法fn:replace(inputString,beforeSubstring,afterSubstring)属性属性参参 数数类类 型型说说 明明 inputStringString函数
34、所要进行置换操作的字符串 beforeSubstringString被置换的子字符串 afterSubstringString要置换的子字符串 58JSP 动态网页新技术动态网页新技术第第7章章 JSTL与标签函数库与标签函数库 escapeXml&length escapeXml用来转换跳脱字符的符号,使其能够不经转换直接输出于网页上。fn:escapeXml(string)-StringscapeXml将指定字符串参数当中的跳脱字符,例如、&等等,转换成为其对应码,效果与标签当中escapeXml属性设为true相同。Length回传指定字符串当中所包含的字符数目。fn:length(input)-integerlength函数接受一个input参数,并且返回其长度。必须注意的是,除了字符串之外,其中的input也可是一个集合对象,此时其返回的是集合当中的对象数目 59JSP 动态网页新技术动态网页新技术