标准标签库.docx
- 文档编号:9957704
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:25
- 大小:22.23KB
标准标签库.docx
《标准标签库.docx》由会员分享,可在线阅读,更多相关《标准标签库.docx(25页珍藏版)》请在冰豆网上搜索。
标准标签库
标准标签库(JSTL)
JSP标准标签库(JSPStandardTagLibrary,简称JSTL)是一个为实现Web应用程序的常用功能而定制的标记库集,这些功能包括基本输入输出、流程控制、循环、XML文件剖析、数据库查询、国际化和文字格式化的应用等
JSTL快速开发
JSTL所提供的函数标签库主要分为以下5类。
类别
内容
核心标签库
提供定制操作、以及执行页面内容的迭代和条件操作,还提供了用来生成和操作URL的标签。
XML标签库
提供了用来操作以XML表示的数据的标签。
格式化/国际化(i18n)标签库
定义了用来格式化数据(尤其是数字和日期)的操作的标签,这些标签还支持使用本地化资源进行JSP页面的国际化。
数据库标签库
定义了用来查询关系数据库操作的标签。
函数标签库
利用EL的Function所实现出来的,主要用于处理字符串。
安装配置JSTL
必须修改web.xml添加8个标签库
xmlversion="1.0"encoding="UTF-8"?
>
xsi="http: //www.w3.org/2001/XMLSchema-instance"xsi: schemaLocation=" JSTL快速开发实例 test.jsp <%@pagecontentType="text/html;charset=GB2312"%> <%@taglibprefix="c"uri="%>
outvalue="欢迎测试您的第一个使用到JSTL的网页"/> outvalue="___________________________"/> outvalue="柳宗元"/> 使用JSTL的核心标签 核心标签库(CoreTagLibrary)主要有: 表达式相关的标签、流程控制标签、迭代标签和URL标签 核心标签库分类 分类 功能 标签 Core 表达式相关 outsetremovecatch 流程控制 ifchoosewhenotherwise 迭代 forEachforTokens URL importparamurlparamrediectparam 在使用JSTL核心标签库时,必须使用的<%@taglib%>指令如下: <%@tablibprefix="c"uri=" 表达式相关标签 表达式相关的标签有4个: out> set> remove> catch>。 这4个标签的属性名称及说明、标签用途以及标签的语法如表 标签名称 属性名称及说明 标签用途 语法 out> value表示在JSP页面显示出来的值、类型为Object 主要用来显示数据的内容 outvalue="expresssion"default="expression"escapeXml="boolean"/> escapeXML表示是否转换特殊字符,类型为boolean default是默认值如果value的值为null,则显示default的值 set> value表示将要计算的表达式,类型为Object 主要用于在一个范围中(如: Request、Session、Application等)中设置某个值,或者设置某个值,或者设置某个对象的属性 setvar="name"scope="scope"value="expression"/> var类型为String scope表示var的有效范围,类型为String target表示一人JavaBean或java.util.Map对象,类型为String property表示制定target对象的属性民,类型为Object remove> var表示待删除的参数的名字,类型为String 主要用于删除某个变量或者属性 removevar="name"scope="scope"/> scope表示var的有效范围,类型为String catch> var用于标示这个异常的名字,类型为String 主要用于处理产生错误的异常情况,并且将错误信息存储起来 catchvar="name"> nestdactions catch> 例子 core_expression.jsp <%@pagecontentType="text/html;charset=GB2312"%> <%@taglibprefix="c"uri="%> outvalue=" out> set> remove>"/>的例子 setscope="page"var="number"> outvalue="${5}"/> set> setscope="request"var="number"> outvalue="${5}"/> set> setscope="session"var="number"> outvalue="${5}"/> set> 各范围number变量的初始值 pageScope.number= outvalue="${pageScope.number}"default="NoData"/> requestScope.number= outvalue="${requestScope.number}"default="NoData"/> sessionScope.number= outvalue="${sessionScope.number}"default="NoData"/> outvalue='执行 removevar="number"/>之后'/> removevar="number"/> pageScope.number= outvalue="${pageScope.number}"default="NoData"/> requestScope.number= outvalue="${requestScope.number}"default="NoData"/> sessionScope.number= outvalue="${sessionScope.number}"default="NoData"/> 流程控制标签 流程控制标签(FlowControlTags)同样也有4个: if> choose> when><: otherwise> 流程控制标签 标签名称 属性名称及说明 标签用途 语法 if> test表达式的条件类型为boolean 用于进行条件判断,如果表达式test的结果为true,则执行本体内容否则不执行 iftest="testCondition"var="varName" [scope="scope"]> bodycontent if> scope表示var的范围,类型String choose> 用于条件选择,作为 when>和 otherwise>的父标签 choose> bodycontent ( choose> when> test表示表达式的条件,类型为boolean 代表了 choose>的一个分支 whentest="testCondition'> bodycontent when> otherwise> 代表了 choose>的最后一个选择 otherwise>bodycontent otherwise> 下面是使用以上几个标签的例子,其中用到两个页面: core_flowControl.htm和core_flowControl.jsp。 core_flowControl.htm提交表单,core_flowControl.jsp接收表单数据并显示欢迎消息 core_flowControl.htm 请下面名字中选择一个填入文本框中: Tom\Jerry\Mike\Ben 姓名: core_flowControl.jsp <%@pagecontentType="text/html;charset=GB2312"%> <%@taglibprefix="c"uri="%> if的使用 iftest="${param.username=='Tom'}"var="condition"scope="session"> 您好,Tom if> iftest="${param.username=='Jerry'}"var="condition"scope="session"> 您好,Jerry if> iftest="${param.username=='Mike'}"var="condition"scope="session"> 您好,Mike if> iftest="${param.username=='Ben'}"var="condition"scope="session"> 您好,Ben if> choosec: whenc: otherwise使用 choose> whentest="${param.username=='Tom'}"> 您好,Tom when> whentest="${param.username=='Jerry'}"> 您好,Jerry when> whentest="${param.username=='Mike'}"> 您好,Mike when> otherwise> 您好,Ben otherwise> choose> 在上面的例子中,首先从网页中传递一个参数username到JSP页面中,然后在JSP页面中分别使用 if>、 choose>、 when>、 otherwise>判断输入名字,然后再给出相应的输出。 迭代标签 迭代标签(IteratorTags)有两个: forEach>和 forTokens>。 迭代标签 标签名称 属性名称及说明 标签用途 语法 forEach> var,表示迭代参数的名字,类型为String 主要用循环控制,可以将集合中的成员循序浏览一遍 语法1: 迭代集合对象中的所有成员: forEach[var="varName"] items="collection" [varStaus="varStatusName"] [begin="begin"] [end="end"] [step="step"]> 标签体 forEach> 语法2: 迭代指定的次数 forEach[var="varName"] [varStaus="varStatusName"] [begin="begin"] [end="end"] [step="step"]> 标签体 forEach> items,表示被迭代的集合对象,类型为Arrays、Collection、Iteraotor、Enumeration、Map、String等 varStatus,表示当前迭代的状态,可以访问迭代自身的信息,类型String begin,表示迭代开始的位置类型为int end,表示迭代结束的位置类型为int step,表示每次迭代的步长,类型为int forTokens> var,表示迭代参数的名字,类型为String 主要用于浏览一字符串中所有的成员,可以指定一人或多个分隔符(delimiters) forTokensitems="stringofTokens" [var="varName"] [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]> 标签体 forTokens> items,表示被迭代的字符串,类型String delims,表示分隔符,类型为String varStatus,表示当前迭代的状态,可以访问迭代自身的信息,类型为String begin,表示迭代结束的位置 end,表示迭代结束的位置,类型为int step,表示每次迭代的步长,类型int core_iterator.jsp <%@pagecontentType="text/html;charset=GB2312"%> <%@taglibprefix="c"uri="%> forEach和c: forTokens标签 outvalue=" forEach>的用法"/> <% Stringatts[]=newString[4]; atts[0]="您好! "; atts[1]="欢迎您! "; atts[2]="您已经成功使用c: forEach标签."; atts[3]="____________________________柳宗元"; request.setAttribute("atts",atts); %> forEachitems="${atts}"var="item"> ${item} forEach> outvalue=" forTokens>的用法"/> <% Stringpostcode="34: 5873: 9898: 001"; request.setAttribute("mypostcode",postcode); %> forTokensitems="${mypostcode}"delims=": "var="item"> ${item} forTokens> 在上面的例子中,首先使用 forEach>标签,将数组atts的所有元素输出,然后使用 forTokens>标签输出postcode,也就是把34: 5873: 9898: 001以“: ”作为分隔符,将字符串分为4部分,每执行一次循环就将一部分放到item中并输出 URL标签 有4个与URL相关的标签: import> redirect> url> param>其中 param>在 url>和 redirect>的标签体内使用,主要功能是将参数附在URL后面 URL相关的标签 标签名称 属性名称及说明 标签用途 语法 import> url表示导入资源的URL类型为String 主要用于将其他静态或动态文件包含到JSP 语法1: importurl="url" [context="context"] [var="varName"] [scope="scope"] [charEncoding="charEncoding"] 标签体 import> 语法2: importurl="url" [context="context"] [varReader="varReaderName"] 标签体 import> context表示当使用相对路径访问外部context时,context指定了此资源的名字,类型为String var表示参数的名字,类型为String scope表示var参数的作用范围,类型为String charEncoding表示输入资源的字符编码,类型为String varReader表示用于读取得文件的内容,类型为String redirect> context表示当使用相对路径访问外部context时,context指定了此资源的名字,类型为String 表示将客户端的请求从一个JSP页面导向其他的页面 语法1: redirecturl="value" [context="context"]/> 语法2: redirecturl="value" [context="context"]/> param>subtags redirect> url表示待定向资源的URL,类型为String url> value表示将要使用的URL,类型为String 主要用于生成一个URL 语法1: urlvalue="value" [context="context"] [var="varName"] [scope="scope"]/> 语法2: urlvalue="value" [context="context"] [var="varName"] [scope="scope"] param>subtags url> context表示当使用相对路径访问外部context时,context指定了此资源的名字,类型为String var表示参数的名字,类型为String scope表示var参数的作用范围,类型为String param> name表示参数名称,类型String 主要用于将参数传递给所包含的文件 语法1: paramname="name" value="value"/> 语法2:使用
使用JSTL流程控制标签
标签c:
标签c:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 标准 标签