1、c标签jstl C标准标签库 前言从JSP1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生。作者:杨通杆(JSTL简介 JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。JSTL目前的最新版本为1.02,最终发布版为1.0。JSTL包含两个部分:标签库和E
2、L(Expression Language表达式语言)语言。标签库目前支持四种标签: 标签URI前缀示例CorecXML processingxI18N capable formattingfmtDatabase access (SQL)sqlCore支持JSP中的一些基本的操作;XML processing支持XML文档的处理;I18N capable formatting支持对JSP页面的国际化;Database access (SQL)支持JSP对数据库的操作。让我先给你介绍c标签吧. 1.库:Core(核心库)URI:前缀:c 描述:标签是一个最常用的标签,用于在 JSP 中显示数据。
3、它的作用是用来替代通过JSP内 置对象out或者标签来输出对象的值。语法: 没有Body时的语法 有Body时的语法 这里是Body部分 属性:属性名描述类型是否接受动态值是否支持EL是否必须默认值说明value 需要显示的值Object YYY无用来定义需要求解的表达式。escapeXml是否转换特殊字符booleanYYNtrue用于指定在使用标记输出诸如“”、“”、“”和“&”之类的字符(在 HTML 和 XML 中具有特殊意义)时是否应该进行转义。如果将 escapeXml 设置为true,则会自动的进行编码处理。default缺省值ObjectYYN无当求解后的表达式为null或者S
4、tring为空时将打印这个缺省值。Null和错误说明假若value为null,会显示default的值;假若没有设定default的值,则会显示一个空的字符串。实例:-Example1该示例将从Session查找名为“anyValue”的参数,并显示在页面,若没有找到则显示“no value”。-Example2您的用户名是: 显示用户的用户名,如为空则显示guest 指定从session中获取username的值显示; 显示username的值,默认是从request(page)中取,如果request中没有名为username的对象则从session中取,session中没有则从appli
5、cation(servletContext)中取,如果没有取到任何值则不显示-2. 库:Core(核心库)URI:前缀:c 描述:标签用于为变量或JavaBean中的变量属性赋值的工作。这个标签用于在某个范围(page、request、session、application等)中使用某个名字设定特定的值,或者设定某个已经存在的javabean对象的属性。他类似于 语法: 语法1: 没有body将value的值存储至范围为scope的varName变量之中语法2: 有body将body内容存储至范围为scope的varName变量之中 body.语法3: 将value的值存储至target对象属
6、性中语法4: 将body内容的数据存储至target对象属性中 body. Null 和 错误处理:语法3和语法4会产生异常错误,有以下两种情况: .target 为null .target 不是java.util.Map或JavaBean对象假若value为null时:将由存储变量改为移除变量 .语法1: 由var和scope所定义的变量,将被移除 .若scope已指定时,则PageContext.removeAttribute(varName,scope); .若scope未指定时,则PageContext.removeAttribute(varName); .语法3: .假若target
7、为Map时,则Map.remove(property); .假若target为JavaBean时,propertye指定的属性为null注意: var和scope这两个属性不能使用表达式来表示,我们不能写成 scope=$ourScope或var=$a属性:属性名描述类型是否接受动态值是否支持EL是否必须默认值说明value要被存储的值 ObjecttrueY否无被计算的表达式var变量名StringfalseN否无被导出的保存了value属性计算结果的范围变量的名称scope范围StringtrueN否pagevar的JSP范围target目标 对象StringtrueY否无要设置属性的对象
8、。必须是JavaBean对象或java.util.Map对象property指定target对象属性Object trueY否无要设置的target对象的属性的名称实例:-Example1该示例将为名为“oneString”的变量赋值为“this is andy”,其作用范围为page。-Example2 将对象cust.address的city属性值保存到变量city中。-Example3设置不同的属性,并且指定它们的范围:-Example4 -Example5 -3. 库:Core(核心库)URI:前缀:c 描述:标签用于删除存在于scope中的变量。类似于 、.语法: 属性:属性名描述类
9、型是否接受动态值是否支持EL是否必须默认值说明var变量名StringNN是无欲移除变量的名称scope范围StringNN否pagevar变量的JSP范围; 若没有指定,默认为全部查找-实例:Example1$sessionScope.sampleValue-Example2将username变量从session范围移除。若我们不设定scope,则会移除所有范围名称为username的数据。-4.库:Core(核心库)URI:前缀:c 描述:动作用于捕获JSP元素在其体中抛出的异常,从而提供细粒度的错误控制, 此异常也可以保存为一个页面作用域变量。当错误发生和之间时,只有和之间的程序会被中止
10、忽略,但整个网页不会被中止。它包含一个var属性,是一个描述异常的变量,该变量可选。若没有var属性的定义,那么仅仅捕捉异常而不做任何事情,若定义了var属性,则可以利用var所定义的异常变量进行判断转发到其他页面或提示报错信息。语法: /可能发生错误的部分JSP elements 属性: 属性名描述类型是否接受动态值是否支持EL是否必须默认值说明var 变量名String NNN无用来存储错误信息的变量实例:-Example1 -Example2 $param.sampleSingleValue9 = 3 $err当“$param.sampleSingleValue9 = 3”表达式有异常时
11、,可以从var属性“err”得到异常的内容,通常判断“err”是否为null来决定错误信息的提示。-5.库:Core(核心库)URI:前缀:c 描述:动作仅当所指定的表达式计算为true时才计算其体。计算结果也可以保存为一个作用域Boolean变量。 语法:语法1:没有体 语法2:有体 JSP elements属性:属性名描述类型是否接受动态值是否支持EL是否必须默认值说明test 测试表达式 boolean Y Y是无如果表达式的结果为true则执行body,false则相反var 变量名String NN否无用来存储test运算后的结果,即true或false scope 变量作用域Str
12、ing NN否pagevar变量的JSP范围实例: 6.库:Core(核心库)URI:前缀:c 描述:动作用于控制嵌套和动作的处理,它只允许第一个测试表达式计算为true的动作得到处理;如果所有动作的测试表达式都计算为false,则会处理一个动作。标签没有属性,可以被认为是父标签,、将作为其子标签来使用。语法:body(和)限制:的本地内容只能有: .空白 .1或多个 .0或多个属性:无实例:-Example1 $product.salesPrice On sale! $product.price -Example2 condition1 为 true condition2 为 true condition1和conditon2都为false /说明:在同一个中,假如所有的的test都不为true时,则执行的本体内容。在同一个中,假若有好几个都会true时,只能有一个成立。-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1