《JSTL标签库》.doc
文本预览下载声明
JSTL标签库JSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的。在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同时也由于自定义标签的开发难度较大和不利于技术标准化产生了自定义标签库。JSTL标签库可分为5类:
? 核心标签库
? I18N格式化标签库
? SQL标签库
? XML标签库
? 函数标签库
本章将对这些内容一一讲述。
9.1 核心标签库
JSTL的核心标签库标签共13个,从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。使用这些标签能够完成JSP页面的基本功能,减少编码工作。
(1)表达式控制标签:out标签、set标签、remove标签、catch标签。
(2)流程控制标签:if标签、choose标签、when标签、otherwise标签。
(3)循环标签:forEach标签、forTokens标签。
(4)URL操作标签:import标签、url标签、redirect标签。
在JSP页面引入核心标签库的代码为:
%@ taglib prefix=c uri=/jsp/jstl/core %
下面将按照功能分类,分别讲解每个标签的功能和使用方式。
9.2.1 表达式控制标签
表达式控制分类中包括c:out、c:set、c:remove、c:chtch4个标签,现在分别介绍它们的功能和语法。
1.c:out标签
【功能】:用来显示数据对象(字符串、表达式)的内容或结果。
在使用Java脚本输出时常使用的方式为:
% out.println(“字符串”)%
%=表达式%
在web开发中,为了避免暴露逻辑代码会尽量减少页面中的Java脚本,使用c:out标签就可以实现以上功能。
c:out value=”字符串”
c:out value=”EL表达式”
提示:JSTL的使用是和EL表达式分不开的,EL表达式虽然可以直接将结果返回给页面,但有时得到的结果为空,c:out有特定的结果处理功能,EL的单独使用会降低程序的易读性,建议把EL的结果输入放入c:out标签中。
c:out标签的使用有两种语法格式。
【语法1】:
c:out value=”要显示的数据对象” [escapeXml=”true|false”] [default=”默认值”]
【语法2】:
c:out value=”要显示的数据对象” [escapeXml=”true|false”]默认值
/c:out
这两种方式没有本质的区别,只是格式上的差别。标签的属性介绍如下。
? value:指定要输出的变量或表达式。
? escapeXml:设定是否转换特殊字符(如lt、gt等一些转义字符),在默认值为true的情况下直接在输出lt的,如果改为false将会进行转义输出“”等。
? default:为默认输出结果。如果使用表达式得到的结果为null(注意与空区别),将会输出默认结果。
【示例代码】:代码9.1演示了c:out的使用,以及在不同属性值状态下的结果。
代码9.1 c:out标签使用示例:coredemo01.jsp
1 %@ page pageEncoding=gbk %
2 %@ taglib prefix=c uri=/jsp/jstl/core %
3 html
4 head
5 titleout标签的使用/title
6 /head
7 body
8 li(1)c:out value=北京源智天下科技有限公司/c:out/li
9 li(2)c:out value=lt未使用字符转义gt //li
10 li(3)c:out value=lt使用字符转义gt escapeXml=false/c:out/li
11 li(4)c:out value=${null}使用了默认值/c:out/li
12 li(5)c:out value=${null}/c:out/li
13 /body
14 /html
【代码解析】:
(1)第8行为c:out的value属性赋值为字符串。
(2)第9行和第10行对比,在改变escapeXml属性后页面输出的转义字符。
(3)第11行value得到null,如果方法体内有值,将输出方法体中的字符串,否则不输出,第12行没有输出结果。
程序运行结果如图9.1所示。
图9.1 corede
显示全部