JSTL标准标签库

合集下载

JAVA多媒体05_JSTL标准标签库

JAVA多媒体05_JSTL标准标签库

JSTL访问JSP属性
• EL表达式使用${variable}代表一个指定 名称数据对象 • 使用”.”或”[]”来访问数据对象的属性
表达式语言命令
操作符 + * /或div %或mod ==或<EQ != <或lt 解释 加法 减法 乘法 除法 取模 相等 不等 小于 操作符 >或gt <=或lc >=或gc &&或and ||或or !或not empty 解释 大于
JSTL部署
<taglib-uri> /jstl/core /jstl/core-rt /jstl/sql /jstl/sql-rt /jstl/fmt /jstl/fmt-rt /jstl/x /jstl/x-rt <taglib-location> /WEB-INF/c.tld /WEB-INF/c-rt.tld /WEB-INF/sql.tld /WEB-INF/sql-rt.tld /WEB-INF/fmt.tld /WEB-INF/fmt-rt.tld /WEB-INF/x.tld /WEB-INF/x-rt.tld
小于或等于 大于或等于
逻辑与 逻辑或 逻辑非 是否为空
核心标记
• • • • 支持表达式语言的标记 流程控制标记 循环标记 URL标记
支持表达式语言的标记
• • • • <c:out>:jspWriter输出,等同<%=…%> <c:set>:设置隐含对象的属性值 <c:remove> <c:remove>:删除一个范围的属性 <c:catch>:控制JSP中的错误信息
JSTL标准标签库
JSTL简介

JAVA-WEB开发教程-第九章-JSTL基础知识

JAVA-WEB开发教程-第九章-JSTL基础知识
第25页,共37页。
9.5.2 <x:out>标签
• 使用<x:parse>把一个XML文档解析以后,就可以 使用<x:out>标签输出XML节点的值,<x:out>在这 里的功能和<c:out>有点类似。<x:out>标签的使 用语法如下。<x:out select=”node” [escapeXML=”{true|false}”]/>
第17页,共37页。
9.4.1 <sql:setDataSource>标签
• <sql:setDataSource>标签可以用来设置数据源, 其使用语法有两种,第一中语法如下。
• <sql:setDataSource driver="driverName" url="URL" [user="userName"] [password="password"] [var=”varName”] [scope="{page|request|session|application}" />
• default value
• </c:out>
第5页,共37页。

9.3.2 <c:set>标签
• <c:set>的主要功能是把变量的值设置到JSP内置 对象中,或者是设置到JavaBean的属性中。 <c:set>的功能和JSP动作指令中的 <jsp:setProperty>类似。(具体内容请参照书。)
第2页,共37页。
9.2 JSTL开发环境简单配置
• 如果要在项目中使用JSTL,就需要在配置JSTL的 环境,JSTL环境配置非常简单,首先要下载JSTL, (具体内容请参照书。)

JSP标准标签库(JSTL)精品PPT课件

JSP标准标签库(JSTL)精品PPT课件
JSTL规范有Sun公司制定,Apache的Jakarta小组负责实 现,目前的版本是JSTL1.1.2
JSTL的目的是简化JSP页面的设计。为页面设计人员和程 序开发人员的分工协作提供了便利。
JSTL1.0需要支持Servlet2.3和JSP1.2的Web容器,而 JSTL1.1需要支持Servlet2.4和JSP2.0的Web容器。
<c:set>
用于设置范围变量的值或JavaBean对象的属性。
语法1:使用value属性设置范围变量的值 <c:set value=“value” var=“varname” [scope=“{page|request|session|application}”] />
语法2:使用标签体设置范围变量的值 <c:set var=“varName” [scope=“{page|request|session|application}”] > body content </c:set>
<c:out>
用于计算一个表达式,并将结果输出到当前的JspWriter对 象。
<c:out>标签的功能类似于JSP的表达式<%=expression %>, 或者EL表达式${el-expression}
语法1:没有标签体: <c:out value=“value” [escapeXml=“{true|false}”]
EL最初定义在JSTL1.0规范中,在JSP2.0后,EL正式成 为JSP规范的一部分。在JSTL1.1规范中,已经没有了EL 部分,不过,在JSTL中仍然可以使用EL。
JSTL API下载地址为:
JSTL组成
JSTL是由5个不同的功能的标签库组成的。在 JSTL1.1规范中,为5个标签库分别指定了不同的 URI,并对标签库的前缀做出了规定:

JSTL

JSTL

JSTL(JSP标准标签库)介绍JSTL(JSP标准标签库)介绍作者:令少爷(shaoye@)前言从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Stan dard Tag Library)的诞生。

因为工作中需要用到JSTL,但网上却苦于找不到有关JSTL的中文资料,所以就有了这篇文章。

JSTL简介JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。

JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomc at 4.x。

但是在即将推出的JSP 2.0中是作为标准支持的。

JSTL目前的最新版本为1.02,最终发布版为1.0。

JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。

标签库目前支持四种标签:标签URI前缀示例Core/jstl/corec<c:tagname ...>XML pr ocessing/jstl/xmlx<x:tagname ...>I18N capable form atting/jstl/fmtfmt<fmt:tagname ...>Database access (SQL)/jstl/sqlsql<sql:tagname ...>Core支持JSP中的一些基本的操作;XML processing支持XML文档的处理;I18N capable formatting支持对JSP页面的国际化;Database access (SQL)支持JSP对数据库的操作。

由于本人水平有限,本文仅介绍Core标签,如有兴趣,可一起探讨其它三种标签的使用与扩充。

EL语言介绍EL语言是JSTL输出(输入)一个JAVA表达式的表示形式。

JSTL中的TLD配置和使用。

JSTL中的TLD配置和使用。

JSTL中的TLD配置和使⽤。

⼀,JSTL介绍: JSTL标签库,是⽇常开发经常使⽤的,也是众多标签中性能最好的。

把常⽤的内容,放在这⾥备份⼀份,随⽤随查。

尽量做到不⽤查,就可以随⼿就可以写出来。

这算是Java程序员的基本功吧,⼀定要扎实。

JSTL全名为JavaServer Pages Standard Tag Library。

JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发⼈员⼀个标准通⽤的标签函数库。

Web程序员能够利⽤JSTL和EL来开发Web程序,取代传统直接在页⾯上嵌⼊Java程序(Scripting)的做法,以提⾼程序的阅读性、维护性和⽅便性。

⼆,JSTL配置: 主要牵涉到两个jar包 standward.jar和jstl.jar包(两个包1.0和1.2版本的下载以及TLD下载路径如下:) 加载⽅式包括两种 1,⾮⾃动加载 a,将tld⽂件copy到WEB-INFO下的tld⽬录下,没有就创建之 b,修改web.xml⽂件配置,添加配置如下 1<jsp-config>2<taglib>3<taglib-uri>/jstl/core</taglib-uri>4<taglib-location>/WEB-INF/tld/c.tld</taglib-location>5</taglib>6<taglib>7<taglib-uri>/jstl/fmt</taglib-uri>8<taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>9</taglib>10<taglib>11<taglib-uri>/jstl/fn</taglib-uri>12<taglib-location>/WEB-INF/tld/fn.tld</taglib-location>13</taglib>14</jsp-config>View Code c,jsp中引⽤taglib 2,⾃动加载Servlet2.4规范提供了对tld⽂件的⾃动加载,tld⽂件在standard.jar的META-INF⽂件夹中。

简述jstl的作用

简述jstl的作用

简述jstl的作用JSTL,指的是JavaServer Pages(JSP)标准标签库。

它是一套专为基于JSP的Web应用程序设计的标准标签集合,它提供了对JSP编程中复杂又频繁出现的操作和需要的功能封装。

JSTL是一个标准标签库,由 JavaSoft出,整合了以下5个子库:1.心:定义控制结构,比如循环、条件等;2. XML:用于处理XML文档;3.式化标记:定义了国际化、数字、日期和消息格式化标签;4. SQL:定义SQL标记;5. 事务:提供了基本的数据库操作支持。

JSTL的标签可以替代JSP的脚本块,使我们的JSP文件更加简洁,代码也更易于阅读和维护。

使用JSTL提供的标签,可以使我们的代码更加简洁优雅,增强可维护性,可以和xml、xsl结合来提供复杂的数据显示,可以利用JSTL定义的标签来实现对XML数据的读取、把XML数据转换成HTML页面能识别的格式,可以利用JSTL定义的标签来调用JavaBean属性以及调用JavaBean方法,可以方便地调用数据库服务,以及简单的使用EL表达式等等。

JSTL的优势在于它提供了一组可重用的标签,允许我们以更简洁、更容易理解的方式来完成我们的工作,这也极大地简化了JSP页面的构建和维护。

JSTL不仅极大地提高了JSP的开发效率,而且与其他类库高度整合,比如struts等,实际上,JSTL作为J2EE技术栈中重要的部分,已经广泛地被公司和企业所接受。

总之,JSTL为J2EE技术栈提供了一种更加高效、更加优雅的开发方式,它极大地丰富了JSP的功能,为Web应用的开发提供了更多的思路,并且它把JSP的静态性质变成了动态性质,使得开发者可以更加灵活,也使得开发者更容易维护JSP,并且JSTL支持多种标准,比如XML、SQl等,这也使得Web的开发效率更加高效准确。

jstl用法

jstl用法

JSTL用法一、什么是JSTLJavaServer Pages Standard Tag Library(JSTL)是一个JSP规范的标准标签库,它为JSP页面提供了一组标签和函数,用于简化JSP页面的开发和维护。

JSTL提供了核心标签库、格式化标签库、SQL标签库和XML标签库等,可以帮助开发者更方便地处理数据、格式化输出、执行SQL查询和处理XML数据等任务。

二、JSTL的引入要使用JSTL,首先需要在项目中引入JSTL的相关依赖。

在Maven项目中,可以通过在pom.xml文件中添加以下依赖来引入JSTL:<dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency>引入依赖后,就可以在JSP页面中使用JSTL的标签了。

三、核心标签库1. <c:out>标签<c:out>标签用于输出表达式的值,可以防止XSS攻击。

它的使用方式如下:<c:out value="${expression}" />其中,expression是一个JSP表达式,可以是一个变量、一个属性或者一个EL表达式。

<c:out>标签会将expression的值进行HTML转义,以防止恶意代码注入。

2. <c:set>标签<c:set>标签用于设置一个变量的值,可以在JSP页面中使用这个变量。

它的使用方式如下:<c:set var="variableName" value="expression" />其中,variableName是变量的名称,expression是一个JSP表达式,用于给变量赋值。

chapter15_标准标记库(JSTL)

chapter15_标准标记库(JSTL)

9/67
例:el.jsp
<jsp:useBean id="user" class="er"> <jsp:setProperty name="user" property="*"/> </jsp:useBean> <body> 获取参数方法一: 获取参数方法一 <hr/> 姓名:${erName}<br> 姓名 密码:${user.password }<br> 密码 年龄:${user.age }<hr> 年龄 获取参数方法二: 获取参数方法二 <hr/> 姓名:${erName}<br> 姓名:${erName}<br> 密码:${param.password }<br> 密码 年龄:${param.age }<hr> 年龄 获取参数方法三: 获取参数方法三 <hr/> 姓名:${param['userName']}<br> 姓名 密码:${param['password'] }<br> 密码 年龄:${param['age'] }<hr> 年龄 <p>
<hr/> 表单 <form> 姓名: 姓名 <input name="userName"><br> 密码: 密码 <input name="password"><br> 年龄: 年龄 <input name="age"><br> <input type="submit"> </form>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、JSTL简介引入:在JSP以及javaBean中,当我们在网页中使用循环,或者使用对象方法连接数据库时,我们都不可避免的需要使用到jsp的脚本编制元素,其中嵌有大量的java代码,现在开发者想尽可能的避免使用jsp脚本编制元素,进一步将应用程序的显示层和业务层完全分离,更加有利于应用程序的分工协作,jsp开发者指定了 JSTL ,提供了一组统一的通用的自定义标签文件,并将这些文件组合在一起,形成了jsp标准标签库,即JSTL。

1) 定义:包含编写和开发JSP页面的一组标准标签a) 特点:为开发者提供了一个无脚本环境,无需编写JAVA脚本b) 包含1. 核心标签库2. SQL标签库3. 国际化(I18N)与格式化标签库4. XML标签库c) 分类:两个版本1. 使用 EL2. 使用请求时表达式2) 作用a) 进一步简化开发,简化页面, 实现页面脱离jsp脚本元素b) 让页面尽可能少的出现java代码c) 优势:与EL表达式配合使用,可以用EL 代替属性值进一步动态改变3) 使用a) 导入标签库(Eclipse等工具中需要做这一步)b) 使用标签库中标签的实施步骤i. 将JSTL对应的JAR文件:jstl.jar、standard.jar添加到应用程序的WEB-INF/lib目录(这两个jar文件见课件目录” JSTL标签库”)ii. 在编写的jsp页面中指定标签库的描述信息:语法:<%@ taglib prefix=”c” uri=”/jstl/core_rt” %>关于上述语法使用的扩充:<%@ taglib prefix =”标签别名” uri =”标签库的位置“>1. 标签别名常用c2. 标签库的位置:(即uri的设置)a) 教材上:” /jstl/core_rt“ 指向sun公司网站上的库文件地址,注意这里只是个地址指向,即使没有上网,在工具中也已经对应到工程中的路径了(注意:此时要先将标签库的两个jar文件放入”工程\WEB-INF\lib”目录下。

)b) 也可使用:”/WEB-INF/c.tld ”(但要注意:此时要先将标签库两个jar文件中的一个standard.jar文件解压后的目录META-INF中的所有*.tld文件放入”工程名/WEB-INF/”目录下,即保证该目录下有c.tld文件)注意:上述两种导入标签库的方式,以第一种为佳,即只需要将两个标签库jar文件放入”工程\WEB-INF\lib”目录下即可。

c) 在JSP中使用3. <c: xxxxxx 属性名=“属性值” 属性名=“属性值”>4. xxxxx就是标签库中提供的各种功能,详述如下:二、核心标签库-----core 或 c.tlda) 分类:1. 通用标签:操作JSP页面创建的范围变量2. 条件标签:操作条件运算判断与处理3. 循环标签:操作循环运算b) 通用标签1. 设置,删除,显示在JSP页面内创建的变量值或对象值2. 变量的范围是由设置时的scope 属性决定3. <c: set> 用于设置变量或者对象属性的值<c:set var=”变量名” value=”变量值” scope=”作用域范围”/><c:set target=”对象名” property=”属性名” value=”值”/>:注意:“变量值” 可以是 EL表达式4. <c: out> 用于动态显示数据(功能类似于EL)1:<c:out value=” 表达式” default=”默认值” escapeXml=”true/false” >2: 注意:表达式可以是 1》普通的常量值2》输出已经设置的变量值:${变量的名称}5. <c: remove>用于删除创建的变量a) <c:remove var=”变量的名称” scope =”作用域”>(案例:演示上面几个标签)c) 条件标签1. 提供条件运算,两种类型: if choose2. <c: if> 语法a) <c:if test=”条件” var=” 存放测试条件结果的变量” scope=”作用域” >b) 。

条件体c) </c:if>d) var 存放的是:结果为true 或 falsee) 不能实现else 由下面的实现3. <c:choose>语法a) <c:choose>i. <c:when test=”条件表达式1”>ii. 需要处理的语句1iii. </c:when>i v. <c:when test=”条件表达式2”>v. 需要处理的语句2vi. </c:when>vii. <c:otherwise>viii. 需要处理的语句ix. </c:otherwise>b) </c:choose>(案例 three.jsp)d) 迭代标签1. 分两种: forEach forTokens2. forEach简单的应用<c:forEach var=”循环控制变量” test=”循环条件” begin=”循环开始值” end=”循环结束值” varStatus=”保存循环状态的变量”>循环体</forEach>用于集合对象的访问<c:forEach var=”存放集合当前记录的变量” items=”要轮循的集合名” begin=”集合的起始索引位置” end=”集合的结束位置”></forEach>注意:如果没有设置begin,end将检索所有元素,step没设置默认为13. forTokens (与<c:forEach>有区别,用于轮循一个字符串)<c:forTokens items=”要轮循的字符串”delims=”单词的分界符” var=”存放单词的变量”></c:forTokens>(案例: 演示上面几个标签)三、SQL 标签库---- sql.tld一般的企业级的应用是离不开数据库操作的,在许多时候都需要在JSP页面中访问数据库,因此提供对数据库访问的支持就变的十分重要了,在JSTL中的SQL标记库就提供了一套可以对数据库进行访问,查询,更新等操作的标记,极大的方便了JSP页面中数据库访问1、作用:用于进行数据库的操作2、在JSP页面中加入标签库<%@ taglib uri=“/jstl/sql_rt ” prefix=”sql” %>3、具体使用标记a) 设置数据源<sql:setDataSource>具体用法:<sql:setDataSource driver=”驱动类路径” url=”连接的数据库设置” user=”用户名” password=”密码” var=”连接对象名”/>b) 查询数据<sql:query>具体用法:①<sql:query sql=”查询语句” var=”结果集名” scope=”结果集保存的范围” dataSource=”关联的数据源对象” maxRows=”最大行数” startRow=”开始行的索引”/>②<sql:query var=”结果集名” scope=”保存范围”>select 语句</sql:query>操作获取的结果集<sql:query var=”students” scope=”session” sql=”select * from stu” dataSource=”conn”/>${students.rowCount}可返回结果集中的数据行数${students.columnNames}可返回所有字段的集合${students.rowByIndex}返回结果集中某行的数据集合c) 数据更新<sql:update>具体用法:① <sql:update sql=”SQL语句” dataSource=”数据源对象名”/>② <sql:update dataSource=”数据源对象名”>SQL语句</sql:query>d) 事务应用<sql:transaction>具体用法:<sql:transactio n dataSource=”数据源对象名”isolation=”事务隔离级别”><sql:query>或者<sql:update></sql:transaction>其中上面的隔离级别:read_committed,read_uncommited,repeatable,serializable注意:如果在事务中设置了dataSource属性,在里面的标记中就不需设置了。

e) 参数设置<sql:param>① 作用:在作查询或者数据操作时参数的设置② 使用:通常是做为<sql:query>和<sql:update>标记的子标记案例:<sql:query dataSource=”conn” var=”stus” scope=”page”>select * from student where stuage>?<sql:param value=”参数值”/></sql:query>四、国际化和格式化标签----fmt 或 fmt.tld1、作用:对数字和日期时间的输出进行标准化,解决中文乱码问题2、在jsp页面加入标签库<%@ taglib uri=“/jstl/fmt_rt” prefix=”fmt” %>3、具体标签的使用a) <fmt:setLocale>① 作用:用于JSP页面的本地化② 使用:<fmt:setLocale value=”语言和区域”/>b) <fmt:formatNumber>① 作用:用于JSP页面数据的格式化② 使用:<fmt:formatNumber type=”number|currency|percent” value=”要格式化的数据” />c) <fmt:formatDate>① 作用:用于JSP页面日期的格式化② 使用:<fmt:formatDate type=”time|date|both” value=”要格式化的日期数据”/>d) <fmt:requestEncoding>① 作用:指定请求数据的编码方式② 使用:<fmt:requestEncodding value=”编码方式” />例如:<fmt:requestEncoding value=”gb2312”/>一般地,也可这样使用:a) 创建好属性文件比如叫 len_zh .propertiesb) <fmt:setLocale value=”指向文件的名称zh”> (zh为中文,en为英文,固定的,Y2课程里会讲到。

相关文档
最新文档