jstl_C标准标签库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

jstlC标准标签库(一)前言从JSP1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServerPagesStandardTagLibrary)的诞生。JSTL简介JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat4.x。但是在即将推出的JSP2.0中是作为标准支持的。JSTL目前的最新版本为1.02,最终发布版为1.0。JSTL包含两个部分:标签库和EL(ExpressionLanguage表达式语言)语言。标签库目前支持四种标签:标签URI前缀示例Core:tagname...XMLprocessing:tagname...I18Ncapableformatting:tagname...Databaseaccess(SQL):tagname...Core支持JSP中的一些基本的操作;XMLprocessing支持XML文档的处理;I18Ncapableformatting支持对JSP页面的国际化;Databaseaccess(SQL)支持JSP对数据库的操作。让我先给你介绍c标签吧.1.c:out库:Core(核心库)URI:前缀:c描述:c:out标签是一个最常用的标签,用于在JSP中显示数据。它的作用是用来替代通过JSP内置对象out或者%=%标签来输出对象的值。语法:没有Body时的语法c:outvalue=”value”[escapeXml=”{true|false}”][default=”defaultValue”]/有Body时的语法c:outvalue=”value”[escapeXml=”{true|false}”]这里是Body部分/c:out属性:属性名描述类型是否接受动态值是否支持EL是否必须默认值说明value需要显示的值ObjectYYY无用来定义需要求解的表达式。escapeXml是否转换特殊字符booleanYYNtrue用于指定在使用c:out标记输出诸如“”、“”、“’”、“””和“&”之类的字符(在HTML和XML中具有特殊意义)时是否应该进行转义。如果将escapeXml设置为true,则会自动的进行编码处理。default缺省值ObjectYYN无当求解后的表达式为null或者String为空时将打印这个缺省值。Null和错误说明假若value为null,会显示default的值;假若没有设定default的值,则会显示一个空的字符串。实例:------------------------------------------------------------------------------------------------------------------------------------------Example1c:outvalue=${sessionScope.anyValue}default=novalueescapeXml=false/该示例将从Session查找名为“anyValue”的参数,并显示在页面,若没有找到则显示“novalue”。------------------------------------------------------------------------------------------------------------------------------------------Example2您的用户名是:c:outvalue=”${user.username}”default=”guest”/显示用户的用户名,如为空则显示guestc:outvalue=${sessionScope.username}/指定从session中获取username的值显示;c:outvalue=${username}/显示username的值,默认是从request(page)中取,如果request中没有名为username的对象则从session中取,session中没有则从application(servletContext)中取,如果没有取到任何值则不显示------------------------------------------------------------------------------------------------------------------------------------------2.c:set库:Core(核心库)URI:前缀:c描述:c:set标签用于为变量或JavaBean中的变量属性赋值的工作。这个标签用于在某个范围(page、request、session、application等)中使用某个名字设定特定的值,或者设定某个已经存在的javabean对象的属性。他类似于%request.setAttrbute(name,value);%语法:语法1:没有body将value的值存储至范围为scope的varName变量之中c:setvalue=valuevar=varName[scope={page|request|session|application}]/语法2:有body将body内容存储至范围为scope的varName变量之中c:setvalue=value[scope={page|request|session|application}]body...../c:set语法3:将value的值存储至target对象属性中c:setvalue=valuetarget=targetproperty=propertyNmae/语法4:将body内容的数据存储至target对象属性中c:settarget=targetproperty=propertyNmaebody..../c:set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为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否无要设置属性的对象。必须是JavaBean对象或java.util.Map对象property指定target对象属性ObjecttrueY否无要设置的target对象的属性的名称实例:------------------------------------------------------------------------------------------------------------------------------------------Example1c:setvalue=thisisandyvar=oneString/该示例将为名为“oneString”的变量赋值为“thisisandy”,其作用范围为page。------------------------------------------------------------------------------------------------------------------------------------------Example2c:settarget=${cust.address}property=cityvalue=$/将对象cust.address的city属性值保存到变量city中。------------------------------------------------------------------------------------------------------------------------------------------Example3设置不同的属性,并且指定它们的范围:c:setvalue=10000var=maxUserscope=application/c:setvalue=20var=maxIdelTimescope=session/c:setvalue=next.jspvar=nextPagescope=page/------------------------------------------------------------------------------------------------------------------------------------------Example4c:setvar=bidvalue=${param.bookId}/jsp:setPropertyname=bookDBproperty=bookIdvalue=${bid}/------------------------------------------------------------------------------------------------------------------------------------------Example5%Foofoo=newFoo();pageContext.setAttribute(foo,foo);%c:outvalue=${foo.date}/brc:settarget=${foo}property=dayvalue=1/c:outvalue=${foo.date}/------------------------------------------------------------------------------------------------------------------------------------------3.c:remove库:Core(核心库)URI:前缀:c描述:c:remove标签用于删除存在于scope中的变量。类似于%session.removeAttribute(“name”)%、%request.removeAttribute(“name”)%..

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功