宏晶第五阶段--jsp-7_第1页
宏晶第五阶段--jsp-7_第2页
宏晶第五阶段--jsp-7_第3页
宏晶第五阶段--jsp-7_第4页
宏晶第五阶段--jsp-7_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JSP- JSTL本章内容本章内容nJSTL简介nJSTL配置nJSTL核心标签库介绍nJSTL核心标签库语法n使用JSTL核心标签库JSTL简介简介nJSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版。JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库。nJSTL是一个标准的已制定好的标签库,可以应用于各种领域nJSTL所提供的标签函数库主要分为五大类:n核心标签库 (Core tag library) nI18N格式标签库 (I18N

2、-capable formatting tag library) nSQL标签库 (SQL tag library) nXML标签库 (XML tag library) n函数标签库 (Functions tag library) JSTL简介简介JSTL前置名称URI范例核心标签库c I18N格式标签库fmt SQL标签库sql XML标签库xml 函数标签库fn JSTL简介简介区别区别n在一个标准的JSP页面中可能会使用到如下的写法 l使用使用JSTL搭配传统写法会变成这样搭配传统写法会变成这样c:out value= / l使用使用JSTL搭配搭配EL,则可以改写成如下的形式,则可以改

3、写成如下的形式 JSTL的配置的配置n条件nJSTL 1.1必须在支持Servlet 2.4且JSP 2.0以上版本的Container才可使用n支持包njstl.jarnstandard.jarn使用默认uri和prefixnJSP容器默认会在当前类路径下搜索所有jar文件里面的META-INF目录下的所有tld文件,或者在META-INFtld下面搜索tld文件,加载标签描述文件n在JSP中使用taglib指令引入其预定义的uri和prefix,如nJSTL的配置的配置n使用自定义uri和prefixn把tld文件放在WEB-INF或其子目录下面n在WEB-INF/web.xml中定义ta

4、glib元素,指定自定义的uri及其对应的tld文件位置nn /jstl/coren /WEB-INF/c.tldnn在JSP里使用自定义的urinJSTL的配置的配置JSTL示例示例n示例:创建我们第一个JSTL测试你的第一个使用到JSTL的网页你使用的浏览器是:若要在JSP网页中使用JSTL,一定要先做下面这行声明注意事项注意事项n特别注意:n JSTL 1.0中,核心标签库的uri默认为 ,比JSTL 1.1少一个jsp/ 的路径。因为JSTL 1.1同时支持JSTL 1.0和1.1,所以假若核心标签库的uri为 ,则将会使用到JSTL 1.0的核心标签库。n JSTL1.1中,核心标签

5、库的uri默认为n JSTL核心标签库核心标签库分类功能分类标签名称core表达式操作outsetremove流程控制ifchoose when otherwise迭代操作forEachforTokensURL操作redirectcore-表达式操作标签表达式操作标签n表达式操作的常用标签nnnn标签标签n没有本体内容n有本体内容 default value 名 称 说 明 EL类 型必 须 默认值 value 需要显示出来的值 YObject 是 无 default 如果value的值为null,则显示default的值YObject 否 无 escapeXml 是否转换特殊字符,如: 转换

6、成 < Yboolean 否 true n属性表格中的EL字段,表示此属性的值是否可以为EL表达式,例如:Y表示 attribute = $表达式 为符合语法的,N则反之。 示例示例测试你的第一个使用到测试你的第一个使用到JSTL的网页的网页 c:out value=有特殊字符有特殊字符 / c:out value=有特殊字符有特殊字符 escapeXml=false / 标签标签n主要用来将变量储存至JSP范围中或是JavaBean的属性中。n将value的值储存至范围为scope的varName 变量之中n将本体内容的数据储存至范围为scope的varName 变量之中 本体

7、内容本体内容 n将 value的值储存至 target 对象的属性中 n将本体内容的数据储存至 target 对象的属性中 本体内容本体内容 名 称 说 明 EL类型 必须 默认值 value 要被储存的值 Y Object 否 无 var 欲存入的变量名称 N String 否 无 scope var变量的JSP范围 N String 否 page target 为一JavaBean或java.util.Map对象Y Object 否 无 property 指定target对象的属性 Y String 否 无 标签标签n有处理map的特殊能力nn n n  n 标签标签标签

8、标签n主要用来移除变量名 称说 明EL类型必须默认值var欲移除的变量名称NString是无scopevar变量的JSP范围NString否pagen必须要有var属性,即要被移除的属性名称,scope则可有可无n将number变量从Session范围中移除。若我们不设定scope,则将会从Page、Request、Session及Application中顺序寻找是否存在名称为number的数据,若能找到时,则将它移除掉,反之则不会做任何的事情。标签标签标签标签n捕捉异常n n nnn Sorry, couldnt find:n ncore-流程控制标签流程控制标签n流程控制分类中包含四个标签

9、nnnn标签标签n的用途就和我们一般在程序中用的if一样n 标签必须要有test属性,当test中的表达式结果为true时,则会执行本体内容;如果为false,则不会执行。n的本体内容除了能放纯文字,还可以放任何JSP程序代码(Scriptlet)、JSP 标签或者HTML码 本体内容本体内容 名 称说 明EL类 型必 须默认值test如果表达式的结果为true,则执行本体内容,false则相反Yboolean是无var用来储存test运算后的结果,即true或falseNString否无scopevar变量的JSP范围NString否page标签标签n本身只当做 和 的父标签 : : : l

10、的本体内容只能有:的本体内容只能有: l空白空白 l1或多个或多个 l0或多个或多个 标签标签n 的用途就和我们一般在程序中用的when一样 本体内容本体内容 名 称说 明EL类型必须默认值test如果表达式的结果为true,则执行本体内容,false则相反Yboolean是无l必须有必须有test属性,当属性,当test中的表达式结果为中的表达式结果为true时,时,则会执行本体内容;如果为则会执行本体内容;如果为false时,则不会执行时,则不会执行l在 同 一 个在 同 一 个 中 时 ,中 时 , 必 须 在必 须 在 之前之前 标签标签n在同一个 中,当所有 的条件都没有成立时,则执

11、行 的本体内容 本体内容本体内容 l在同一个在同一个 中时,中时, 必须为最后一必须为最后一个标签个标签 core-迭代操作标签迭代操作标签n迭代(Iterate)操作主要包含两个标签nn标签标签n为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行的本体内容n迭代一集合对象之所有成员 本体内容本体内容 标签语法标签语法名 称说 明EL类型必须默认值var用来存放现在指到的成员NString否无items被迭代的集合对象YArraysCollectionIteratorEnumerationMapString否无varStatus用来存

12、放现在指到的相关成员信息NString否无begin开始的位置Yint否0end结束的位置Yint否最后一个成员step每次迭代的间隔数Yint否1l假若有假若有begin属性时,属性时,begin必须大于等于必须大于等于 0 l假若有假若有end属性时,必须大于属性时,必须大于begin l假若有假若有step属性时,属性时,step必须大于等于必须大于等于0 n除了支持数组之外,还有标准J2SE的集合类型,例如:List、Set等等;另外还包括java.util.Map类的对象,例如:HashMap、Hashtable、Properties、Provider和Attributesn还有be

13、gin、end和step这三种属性:begin主要用来设定在集合对象中开始的位置(注意:第一个位置为0);end用来设定结束的位置;而step则是用来设定现在指到的成员和下一个将被指到成员之间的间隔标签语法标签语法n还提供varStatus属性,主要用来存放现在指到之成员的相关信息。例如:我们写成varStatus=“s”,那么将会把信息存放在名称为s的属性当中。nvarStatus属性还有另外四个属性属 性类 型意 义indexnumber现在指到成员的索引countnumber总共指到成员的总数firstboolean现在指到的成员是否为第一个成员LastBoolean现在指到的成员是否为

14、最后一个成员CurrentMap当前项。显示当前项的键和值 key=value标签语法标签语法标签标签n用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的 本体内容本体内容 名 称说 明EL类 型必 须默认值var用来存放现在指到的成员NString否无items被迭代的字符串YString是无delims定义用来分割字符串的字符NString是,varStatus用来存放现在指到的相关成员信息NString否无begin开始的位置Yint否0end结束的位置Yint否最后一个成员step每次迭代的间隔数Yint否1core-URL操作标签操作标签nn该行为并不是要引入指定页面的实际内容,它将引入执行该引入页面后所产生的应答 这意味着你可以指定任何能够产生文本应答的web资源。JSP容器将通过一个内部的函数调用来调用指定的资源。因此,这些被引入的资源可以帮助处理原来的请求,所以这些资源可以访问请求作用域内的所有对象,以及所有的请求参数。n注意,它不能访问任何页面作用域属性,或是在主页面中声明的脚本变量。 n执行时机:在请求处理阶段。 nn行为和相同; n另外它还可以从外部资源引入数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论