JSTL介绍—JSP编程新组件允许用标签编程
- 格式:pdf
- 大小:1.27 MB
- 文档页数:7
jstl 中if语句的使用JSTL(JavaServer Pages Standard Tag Library)是用于在JSP页面中嵌入Java 逻辑的标准标签库。
在JSTL中,有一个<c:if>标签可以用于条件判断和控制页面的显示。
<c:if>标签有三个常用的属性:test、var和scope。
1. test属性:用于定义条件表达式,只有当条件表达式为真(true)时,<c:if>标签中的内容才会被执行。
可以使用JSP中的EL表达式作为条件,例如:<c:if test="{age > 18}"><! 显示内容></c:if>2. var属性:用于定义一个变量,该变量会被赋值为布尔型的条件表达式的值。
例如:<c:if test="{age > 18}" var="isAdult"><! 当age大于18时,isAdult的值为true ></c:if>3. scope属性:用于指定变量的作用域,默认为page。
可以选择的作用域包括page(页面)、request(请求)、session(会话)、application(应用程序)。
例如:<c:if test="{age > 18}" var="isAdult" scope="request"><! 当age大于18时,在request作用域中创建变量isAdult ></c:if>示例:<c:if test="{age > 18}"><p>已成年</p></c:if><c:if test="{age <= 18}"><p>未成年</p></c:if>这个示例中,如果age大于18,则显示"已成年";如果age小于等于18,则显示"未成年"。
核心标签库它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量、重复使用一组项目、测试条件和其他操作(如导入和重定向Web内容)。
Core标签按功能可分为4种类型:1 变量维护:(1)<c:set>:设置变量值和对象属性。
语法如下:<c:set value="值" var="变量名" scope="变量的作用域" target="对象名" property=" 对象属性名"></c:set>每种设置都有两种方式,总结起来,<c:set>的4种形式,如下所示:a. 使用标记属性设置JSP变量<c:set value="值" var="变量名" scope="作用域"/>b. 使用标记体设置JSP变量<c:set var="变量名" scope="作用域">标记内容</c:set>c. 使用标记属性设置对象属性<c:set value="变量名" target="对象名" property="对象属性名"/>d. 使用标记体设置对象属性<c:set target="对象名" property="作用域">标记内容</set>(2)<c:remove>:在指定作用域范围内删除变量。
语法如下:<c:remove var="变量名" scope="作用域"/>2 流程控制:分为条件标签和迭代标签。
条件标签:<c:if> <c:choose> <c:when> <c:otherwise>(1)<c:if>:与Java语言中的if语句的使用方法一样,但不能实现else的功能。
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标签库引入:/harderxin/article/details/7090501自定义标签:我们可以自己去定义一些jsp标签。
自定义包含两个:java类,tld文件(标签的描述文件)标签库JSTL(JSP Standard Tag Library):因为在jsp中使用java代码去控制页面的显示(即:用小段的<%%>),可读性很差,这样后期维护会比较麻烦,所以引入了Java标签库。
n 常用的JSTL标签库:n 核心标签库:/jsp/jstl/core包含Web 应用的常见工作,比如:循环、表达式赋值、基本输入输出等。
n 格式化标签库:/jsp/jstl/fmt用来格式化显示数据的工作,比如:对不同区域的日期格式化等。
n XML 标签库:/jsp/jstl/xml用来访问XML 文件的工作,这是JSTL 标签库的一个特点。
n 函数标签库:/jsp/jstl/functions用来读取已经定义的某个函数。
n 数据库标签库:/jsp/jstl/sql可以做访问数据库的工作。
J2EE 1.4:使用Java标签库首先要在项目中引入jstl.jar和standard.jar两个jar包,MyEclipse 中有这个功能;Standard.jar中有tld文件(是一个xml文档),这是关于JSTL标签的说明文件,对应的java 类就是加载这些说明,然后对我们写的JSTL标签进行解析处理。
JAVAEE 5.0:javaee5.0类库已经自带了jstl相关的jar包。
不需要再添加,可以直接使用jstl。
其次要在页面中加入这样一个标签头[gjw1]<%@ taglib prefix="c"uri="/jsp/jstl/core" %><c:out>标签用于显示变量数据。
<c:out value="${a}" default="空"[c2]escapeXml="true" [c3]></c:out><c:set>标签的常用属性(将值存储到作用域或为JavaBean 中的变量属性赋值):示例:<c:forEach items="${li}" var="str" begin="0" end="9" step="1" varStatus="ind"><b>${fn:substring(str,1,fn:length(str))}</b><c:if test="${(ind.index+1)%3==0}"><br></c:if></c:forEach><c:forEach items='${fn:split("a,b,c",",")}'[gjw17]var="cc" >${cc} <br></c:forEach>扩展知识点:JSTL的格式化标签库。
实验15 JSP 标准标签库(JSTL)15.1实验目的1.理解什么是JSTL;2.掌握JSTL的配置方法;3.掌握核心标签库的使用技巧;4.掌握国际化和格式化标签库的使用技巧。
15.2 实验环境1.MyEclipse插件平台、2.Weblogic(或者Tomcat)容器15.3实验知识背景15.3.1 JSTL简介JSTL (JSP Standard Tag Library, JSP标准标签库)是一个开源项目,是一个标准的已定制好的JSP标签库。
它可以替代Java代码实现各种功能,如:输入输出、流程控制、迭代、数据库查询及国际化的应用等。
减少JSP中脚本代码的数量。
网络上下载jakarta-taglibs-standard-1.1.2.zip 后,解压后得到两个文件:jstl.jar和standard.jar,其中:jstl.jar 包含的是JSTL规范中定义的接口和类,standard.jar包含的是Jakarta小组对JSTL的实现和JSTL中5个标签库的TLD文件。
将上述两个文件直接复制到应用程序的WEB-INF\lib目录下即可。
在MyEclipse等开发工具中,已包含JSTL内容,不必下载、安装,只要在创建web项目时选择JSTL即可,如图15-1、图15-2所示。
图15-1选择JSTL版本图15-2 添加包的引用15.3.2 JSTL语法基础核心标签库通用格式:<%@ taglib prefix="c" uri="/jsp/jstl/core"%><c:xxx 属性1=“值1”…属性k=“值k”…>下面是常用的核心标签库的标签介绍。
(1)<c:out>:主要用来显示数据的内容,如同<%=表达式%>格式1:没有标签体<c:out value=“value” [escapeXml=“true|false”] [default=“默认值”] />格式2:有标签体<c:out value="value" [escapeXml="true|false"]>默认值</c:out>(2)<c:set>:用来将变量存储在JSP范围中或JavaBean的属性中。
JSTL常用标签汇总JSTL的核心标签库主要包括:表达式操作、流程控制、迭代操作和URL 操作。
以下是JSTL常用标签的用法总结:一、表达式操作1.<c:out>作用:用于显示数据的内容。
语法1:没有本体内容<c:out value="value" [escapeXml="{true|false}"][default="defaultValue"] />语法2:有本体内容<c:out value="value" [escapeXml="{true|false}"]>default value</c:out>属性说明:value:需要显示出来的值。
default:如果value的值为null时,则显示default指定的值。
escapeXml:是否转换特殊字符,默认为true。
即默认会将<、>、’、” 和 & 转换为 <、>、'、"和&。
如果设为 false,则不进行转换。
2.<c:set>作用:用于将变量的值存储在JSP范围中或JavaBean的属性中。
语法1:将value的值存储在范围为scope的varName变量中<c:set value="value" var="varName" [scope="{page|request|session|application}"] />语法2:将本体内容的数据存储在范围为scope的varName变量中<c:set var="varName" [scope="{page|request|session|application}"] >...本体内容</c:set>语法3:将value的值存储在target对象的propertyName属性中<c:set value="value" target="target" property="propertyName" />语法4:将本体内容的数据存储在target对象的propertyName属性中 <c:set target="target" property="propertyName">...本体内容</c:set>属性说明:value:要被存储的值。
jsp中如何⽤jstl实现if(){}elseif(){}else{}<c:choose><c:when test="${条件}">情况1...........</c:when><c:when test="${条件}">情况2...........</c:when><c:otherwise>否则。
</c:otherwise></c:choose>jstl中if语句<c:if>标签计算表达式,只有当表达式的值为true,则显⽰其主体内容。
属性:<c:if>标签具有以下属性:属性描述必需默认test条件计算Yes Nonevar变量名称的存储条件的结果No None scope变量的范围的存储条件的结果No page例⼦:<%@ taglib uri="/jsp/jstl/core" prefix="c" %><html><head><title><c:if> Tag Example - </title></head><body><c:set var="salary" scope="session" value="${2000*2}"/><c:if test="${salary > 2000}"><p>My salary is: <c:out value="${salary}"/><p></c:if></body></html>这将产⽣以下结果:My salary is: 4000。