




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Jstl之核心标签库与格式标签库使用 JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。 JSTL 1.0 发布于 2002 年 6 月,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。它还提供了用来生成和操作 URL 的标记。顾名思义,format 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据,而 sql 库定义了用来查询关系数据库的操作。一、JSTL 库安装 如果要使用JSTL,则必须将jstl.jar和 standard.jar文件放到classpath中,如果你还需要使用XML processing及Database access (SQL)标签,还要将相关JAR文件放到classpath中,这些JAR文件全部存在于下载回来的zip文件中。Apache Tomcat安装JSTL 库步骤如下:下载standard.jar和jstl.jar,这里可以下/detail/evankaka/8871459,我已打包好的standard.jar和jstl.jar文件拷贝到/WEB-INF/lib/下。使用任何库,你必须在每个JSP文件中的头部包含标签。standard.jar的作用JSP 标准标签库,和jstl.jar 一起使用,在1.0的版本中,但在jstl-1.2.jar 就不在需要了。如果你想在项目中使用JSTL和EL表达式,那么你必须要引入这个standard.jar文件。即使你没有引入,那MyEclipse工具自带的类库也会帮你倒入。其他工具不会。jstl.jar下载地址:/maven2/javax/servlet/jstl/ standard.jar下载地址:/maven2/taglibs/standard/如果是在Maven中可以这么写:html view plain copy taglibs standard 1.1.2 javax.servlet jstl 1.1.2 二、核心标签核心标签是最常用的JSTL标签。引用核心标签库的语法如下:html view plain copy 标签描述用于在JSP中显示数据,就像用于保存数据用于删除数据用来处理产生错误的异常状况,并且将错误信息储存起来与我们在一般程序中用的if一样本身只当做和的父标签的子标签,用来判断条件是否成立的子标签,接在标签后,当标签判断为false时被执行检索一个绝对或相对 URL,然后将其内容暴露给页面基础迭代标签,接受多种集合类型根据指定的分隔符来分隔内容并迭代输出用来给包含或重定向的页面传递参数重定向至一个新的URL.使用可选的查询参数来创造一个URL使用 标签必须要有test属性,当test中的表达式结果为true时,则会执行本体内容;如果为false,则不会执行。例如:$requestScope.username = = admin,如果requestScope.username等admin时,结果为true;若它的内容不等于admin时,则为false。接下来看下列的范例:ADMIN您好! /body部分如果名称等于admin,则会显示ADMIN您好! 的动作,如果相反,则不会执行的body部分,所以不会显示ADMIN您好! /body部分。另外的本体内容除了能放纯文字,还可以放任何JSP程序代码(Scriptlet)、JSP 标签或者HTML码。除了test属性之外,还有另外两个属性var和scope。当我们执行的时候,可以将这次判断后的结果存放到属性var里;scope则是设定var的属性范围。哪些情况才会用到var和scope这两个属性呢?例如:当表达式过长时,我们会希望拆开处理,或是之后还须使用此结果时,也可以用它先将结果暂时保留,以便日后使用。例子:html view plain copy 您好Admin先生 运行结果:使用用于条件选择,他和一起使用,他们只能组合在一起使用代表了的一个条件分支,他必须以作为他的父标签他必须在之前出现,只要遵寻这两个规则,使用起来很简单,下面给出代码:html view plain copy body content body content . body content 如:html view plain copy 欢迎朋友:$ 登录失败 运行结果:类似于for和foreach循环 标签用于通用数据循环,它有以下属性属 性描 述是否必须缺省值items进行循环的项目否无begin开始条件否0end结束条件否集合中的最后一个项目step步长否1var代表当前项目的变量名否无varStatus显示循环状态的变量否无标签的语法定义如下所示。 html view plain copy body content 标签的items属性支持Java平台所提供的所有标准集合类型。此外,您可以使用该操作来迭代数组(包括基本类型数组)中的元素。它所支持的集合类型以及迭代的元素如下所示:Java.util.Collection:调用iterator()来获得的元素。ava.util.Map:通过java.util.Map.Entry所获得的实例。java.util.Iterator:迭代器元素。java.util.Enumeration:枚举元素。Object实例数组:数组元素。基本类型值数组:经过包装的数组元素。 用逗号定界的String:分割后的子字符串。javax.servlet.jsp.jstl.sql.Result:SQL查询所获得的行。如可以写:html view plain copy%List list=new ArrayList(); list.add(nqwe); list.add(ftyu); list.add(vfg); request.setAttribute(list,list); % $status.count: 整数 html view plain copy , 计算x的平方 html view plain copy Value Square 字符串47,52,53,55,46,22,16,2 分隔. html view plain copy 使用步长 html view plain copy second second 对数组进行循环 html view plain copy * % Cookie cookies=request.getCookies(); Cookie sCookie=null; String sname=null; String name=null; if(cookies=null) / 如果没有任何cookie out.print(none any cookie); else /out.print(cookies.length + ); for(int i=0;i + name + ); % Cookie Name Cookie Value 字符串数组循环 html view plain copy 枚举 html view plain copy maphtml view plain copy = 使用标记是JSTL的setProperty动作的友好版本。标签是有用的,因为它的表达式求值,并使用结果的JavaBean或java.util.Map对象设置一个值。将value的值储存至范围为scope的varName变量之中html view plain copy 将本体内容的数据储存至范围为scope的varName变量之中:html view plain copy 本体内容 将value的值储存至target对象的属性中:html view plain copy 将本体内容的数据储存至target对象的属性中:html view plain copy 本体内容 它有如下属性属性描述是否必须缺省值:名 称说 明EL类型必须默认值value要被储存的值YObject否无var欲存入的变量名称NString否无scopevar变量的JSP范围NString否pagescopetarget为一JavaBean或java.util.Map对象YObject否无property指定target对象的属性YString否无如果指定了target属性, 那么property属性也必须指定。可以看个例子:html view plain copy 结果:使用remove标签一般和set标签配套使用,两者是相对应的,remove标签用于删除某个变量或者属性,使用格式如下:html view plain copy Remove标签中使用的各属性说明如下:1. scope : 设定这个需要删除的变量的所在范围.2. var : 需要删除的变量或者对象属性的名称.如果没有scope属性,即采用默认值,就相当于调用PageContext.removeAttribute(varName)方法,如果指定了这个变量所在的范围,那么系统会调用PageContext.removeAttribute(varName,scope)方法.使用catch标签的功能和java中的trycatch语句的功能很相似,它用于捕获嵌入到其中间语句抛出的异常,这个标签的使用格式如下:html view plain copy 相关操作语句 -如果操作语句中出现异常,则catch会将异常保存在 varName变量中. 使用这个标签的作用和Java中的StringTokenizer类的作用非常相似,通过items属性来指定一个特定的字符串,然后通过delims属性指定一种分隔符(可以同时指定多个),通过指定的分隔符把items属性指定的字符串进行分组,与forEach标签一样,forTokens标签也可以指定begin和end以及step属性值.使用格式如下:html view plain copy Body content 标签中的各个属性描述如下:1. var : 进行迭代的参数名称.2. items : 指定的进行标签化的字符串.3. varSatus : 每次迭代的状态信息.4. delims : 使用这个属性指定的分隔符来分隔items指定的字符串.5. begin : 开始迭代的位置.6. end : 迭代结束的位置.7. step : 迭代的步长.例:html view plain copy 使用 | 作为分隔符 使用 | , 作为分隔符 代码说明: delims=”|,” , 即使用”|”和”,”同时作为分隔符进行使用.如果需要更多的分隔符就是使用 “|,./” 在引号内输出.使用标记格式化成一个字符串格式的URL,并将其存储到变量中。这个标签会在必要时自动执行URL重写。 var属性指定的变量将包含格式化的URL。JSTL url标签只是response.encodeURL()方法的调用一个替代方法。URL标记提供的唯一的真正的优势是正确的URL编码,包括子param标签指定的任何参数。这个标签主要用来重写url地址,使用格式如下:html view plain copy 当进行参数传递时,使用格式如下:html view plain copy 标签中使用的属性描述如下:value: 将要处理的URL地址.context: 当使用相对路径方法指定外部文件时,这个属性指定的是外在文件的名称.var: 给这个URL地址起一个标识.Scope: 规定这个var属性所指定变量的有效范围.使用标签允许适当的URL请求参数并在URL中指定,它并要求任何必要的URL编码。在标签的name属性表示参数名称,而 value属性指示该参数值:如下例子:html view plain copy 使用该标签用于把其他今天文件包含到该文件当中,它与传统的相类似,不同的是标签只能用来包括该应用中的其他文件,而还可以包含外部站点中的静态文件,所以它的功能更加强大.使用格式如下:html view plain copy Body content 标签中的属性描述如下:url: 待引用静态文件的URL地址.context: 当采用相对路径访问一个外部静态文件时,这里的context指定这个外部文件的名称.var: 当使用字符串输出时,把输出的内容存储在这个var指定的变量中.scope: 指定var参数变量的有效范围.varReader: 这个属性指定的参数变量类型是Reader,可以用于读取文件的内容.charEncoding: 引入文件所采用的字符编码.Import标签即可以采用相对路径也可以采用绝对路径来引用本地点中的任何静态文件,还可以使用绝对路径引用外部站点中的静态文, 甚至可以是ftp站点中的文件,例如:就是引用 站点的主页面.可以把引用文件中的内容赋值给var属性指定的变量,然后进行读取,也可以赋值给varReader指定的Reader类型的变量,然后进行相应的读取.有时引入的文件在本地显示会出现乱码,这时可以通过charEncoding来指定这些内容所采用的字符集编码.使用Redirect标签用来进行页面之间的重定向,它与传统JSP程序重的标签功能相类似,param标签是与redirect一起使用的,它用来进行参数值的传递,redirect标签的使用格式如下:html view plain copy 在redirect标签中指定param参数的使用格式如下:html view plain copy 例: 通过创建c_redirect1.jsp 和 c_redirect2.jsp 两个文件说明c_redirect1.jsp文件内容如下:html view plain copy c_redirect2.jsp 文件内容如下:html view plain copy userName= c_redirect1.jsp页面文件内容不会显示,因为直接重定向到c_redirect2.jsp,重定向c_redirect2.jsp后,页面中输出 userName=admin三、格式化标签JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:html view plain copy 标签描述使用指定的格式或精度格式化数字解析一个代表着数字,货币或百分比的字符串使用指定的风格或模式格式化日期和时间解析一个代表着日期或时间的字符串绑定资源指定地区绑定资源指定时区指定时区显示资源配置文件信息设置request的字符编码formatting标签库:就是用于在 JSP 页面中做国际化格式化的动作分为了两类,分别是: 国际化核心标签:、格式化标签:、1.标签:用于设置本地化环境属性描述 value:Locale 环境的指定,可以是 java.util.Locale 或 String 类型的实例 scope:Locale 环境变量的作用范围(可选) 如: 设置本地环境为繁体中文 设置本地环境为简体中文 2.标签:用于为请求设置字符编码它只有一个属性 value ,在该属性中可以定义字符编码。 如: 3. 、标签:用于资源配置文件的数据来源3.1标签将资源配置文件绑定于它标签体中的显示属性描述basename:资源配置文件的指定,只需要指定文件名而无须扩展名prefix:前置关键字如:资源文件中配置的数据为:label.backcolor=#FFFlabel.fontcolor=#000则,可以用如下方法取得label的backcolor和fontcolor值: 3.2标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行属性描述 ,二组标签共有的属性 var:独有的属性,用于保存资源配置文件为一个变量 scope:变量的作用范围 如: 查找一个名为applicationMessage_zh_CN.properties 的资源配置文件,来作为显示的 Resource绑定 4.标签:用于显示资源配置文件信息(该资源文件必须遵循如下格式:1.扩展名必须为properties,2.文件的内容必须依照key =value的格式;3.文件要放到WEB-INF/classes目录下)属性描述 key:资源配置文件的“键”指定 bundle:若使用 保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找 var:将显示信息保存为一个变量 scope:变量的作用范围 如:1)用标签将applicationMessage资源配置文件被赋于了变量applicationBundle 用标签显示由标签保存的资源配置文件中键为passWord的信息 2)用标签定义的applicationAllMessage资源配置文件作用于其标签体内的显示 用标签显示applicationAllMessage资源配置文件中键为userName的信息 5.fmt:param 标签:用于参数传递标签应该位于标签内,将为该消息标签提供参数值。它只有一个属性value 如:在MyRperties文件中,有一个索引值如下(其中,0代表占位符):Str2=Hi,0 则,使用标签传入值如下: 也可以在资源文件中指定参数的类型:如:在MyRperties文件中,有一个索引值如下:Str3=0,date则,使用标签传入值如下: 6.、标签:用于设定时区标签将使得在其标签体内的工作可以使用该时区设置标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行属性描述 value:时区的设置 var:独有的属性,用于保存时区为一个变量 sco
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚双方子女抚养费用及探望权约定合同范本
- 髂窝脓肿课件
- 环保水产养殖业生态环境保护预案
- 提高免疫力的健康方法
- 嵌入式软件设计模式手册
- 2025专升本审计学试题及答案
- 制定符合客户喜好的产品推广方案
- 2025中国医药招聘公司总监等高级管理岗位笔试历年参考题库附带答案详解
- 设施设备保养维护要求
- 地产行业可持续发展规划
- 2025年事业单位招聘工作人员考试笔试试题(含答案)
- 2025年事业单位工勤技能-河北-河北汽车驾驶与维修员二级(技师)历年参考题库含答案解析(5套)
- 浙江爱生药业有限公司新增年产12亿单位药品制剂自动生产检测线升级技术改造项目环评报告
- 2025年心理健康教育及辅导理论知识考试试卷及答案
- 非财务人员财务基础知识培训
- 2025年新版《煤矿安全规程》
- 2025年律师培训试题(含答案)
- 2025年三力模拟测试题及答案
- 2025年合规专业面试题及答案
- 西畴殡葬管理办法
- 脑脓肿病例分析课件
评论
0/150
提交评论