- 浏览: 83052 次
- 性别:
- 来自: 上海
文章分类
最新评论
从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生。
JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。
JSTL目前的最新版本为1.02,最终发布版为1.0。JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。标签库目前支持四种标签:
标签 | URI | 前缀 | 示例 |
Core | http://java.sun.com/jstl/core | c | <c:tagname ...> |
XML processing | http://java.sun.com/jstl/xml | x | <x:tagname ...> |
I18N capable formatting | http://java.sun.com/jstl/fmt | fmt | <fmt:tagname ...> |
Database access (SQL) | http://java.sun.com/jstl/sql | sql | <sql:tagname ...> |
Core支持JSP中的一些基本的操作;
XML processing支持XML文档的处理;
I18N capable formatting支持对JSP页面的国际化;
Database access (SQL)支持JSP对数据库的操作。
1. <c:out>
库 :Core(核心库)
URI : http://java.sun.com/jsp/jstl/core
前缀 : c
描述 :<c:out> 标签是一个最常用的标签,用于在 JSP 中显示数据。 它的作用是用来替代通过 JSP 内 置对象 out 或者 <%=%> 标签来输出对象的值。
语法 :
没有Body时的语法
<c:out value=”value” [escapeXml=”{true|false}”] [default=”defaultValue”]/>
有Body时的语法
<c:out value=”value” [escapeXml=”{true|false}”]>
这里是Body部分
</c:out>
属性 :
属性名 |
描述 |
类型 |
是否接受动态值 |
是否支持 EL |
是否 必须 |
默认值 |
说明 |
value |
需要显示的值 |
Object |
Y |
Y |
Y |
无 |
用来定义需要求解的表达式。 |
escapeXml |
是否转换特殊字符 |
boolean |
Y |
Y |
N |
true |
用于指定在使用 <c:out> 标记输出诸如“ < ”、“ > ”、“ ’ ”、“ ” ”和“ & ”之类的字符(在 HTML 和 XML 中具有特殊意义)时是否应该进行转义。如果将 escapeXml 设置为 true ,则会自动的进行编码处理。 |
default |
缺省值 |
Object |
Y |
Y |
N |
无 |
当求解后的表达式为 null 或者 String 为空时将打印这个缺省值。 |
Null和错误说明
假若value为null,会显示default的值;假若没有设定default的值,则会显示一个空的字符串。
实例 :
------------------------------------------------------------------------------------------------------------------------------------------
Example1
<c:out value="${sessionScope.anyValue}" default="no value" escapeXml="false"/>
该示例将从Session查找名为“anyValue”的参数,并显示在页面,若没有找到则显示“no value”。
------------------------------------------------------------------------------------------------------------------------------------------
Example2
您的用户名是: <c:out value=”${user.username}” default=”guest”/>
显示用户的用户名,如为空则显示guest
<c:out value="${sessionScope.username}"/>
指定从session中获取username的值显示;
<c:out value="${username}" />
显示username的值,默认是从request(page)中取,如果request中没有名为username的对象则从session中取,session中没有则从application(servletContext)中取,如果没有取到任何值则不显示
------------------------------------------------------------------------------------------------------------------------------------------
2. <c:set>
库 :Core(核心库)
URI : http://java.sun.com/jsp/jstl/core
前缀 : c
描述 : <c:set>标签用于为变量或JavaBean中的变量属性赋值的工作。这个标签用于在某个范围(page、request、session、application等)中使用某个名字设定特定的值,或者设定某个已经存在的javabean对象的属性。他类似于<%request.setAttrbute("name","value");%>
语法 :
语法1: 没有body
将value的值存储至范围为scope的varName变量之中
<c:set value="value" var="varName" [scope="{page|request|session|application}"]/>
语法2: 有body
将body内容存储至范围为scope的varName变量之中
<c:set value="value" [scope="{page|request|session|application}"]>
body.....
</c:set>
语法3: 将value的值存储至target对象属性中
<c:set value="value" target="target" property="propertyNmae"/>
语法4: 将body内容的数据存储至target对象属性中
<c:set target="target" property="propertyNmae">
body....
</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 |
要被存储的值 |
Object |
true |
Y |
否 |
无
|
被计算的表达式 |
var |
变量名 |
String |
false |
N |
否 |
无
|
被导出的保存了value属性计算结果的范围变量的名称 |
scope |
范围 |
String |
true |
N |
否 |
page |
var的JSP范围 |
target |
目标 对象 |
String |
true |
Y |
否 |
无
|
要设置属性的对象。必须是JavaBean对象或java.util.Map对象 |
property |
指定target对象属性 |
Object |
true |
Y |
否 |
无
|
要设置的target对象的属性的名称 |
发表评论
-
SSO原理机制
2017-04-07 16:07 541一、单系统登录机制 1、http无状态协议 web ... -
Java开发规范
2017-03-16 10:45 585元数据起始 重要: 每次提交代码前,一定要使 ... -
java识别当前设备类型
2015-08-12 12:24 1657package com.tgb.util; impo ... -
JVM原理
2014-10-10 09:46 612JVM原理 JVM 原理解释 ... -
ldap java api
2013-11-11 10:41 2035从JDK5.0开始,对LDAP协议的数据访问操作就被集成在 ... -
java程序运行cmd命令
2011-12-06 10:48 1132public class Test { public st ... -
java正则表达式入门
2011-12-04 15:28 877java正则表达式入门 众所周知,在程 ... -
用JAVA刺穿LDAP (一)-- java添加AD用户
2011-11-09 14:20 3299//建立LDAP服务器的连接 package com ... -
使用java技术将Excel表格内容导入mysql数据库
2011-09-24 20:22 10751、添加POI jar包到项目的lib目录下2、Exce ... -
Eclipse快捷键-方便查找
2011-09-02 00:27 675【Ct rl+T】 搜索当前接口的实现类 1. 【 ... -
JSP C标签
2010-12-22 14:13 1065核心标签库 它是JSTL中的核心库,为日常任务提供通用 ... -
JSP EL语言
2010-12-21 11:15 758一、JSP EL语言定义 E L(Expre ... -
Myeclipse6.5下使用XFire开发WebService的简单例子
2010-12-18 18:22 897一,创建服务并发布: 1.新建一webservice项目(或 ... -
基于AXIS的web service项目环境搭建
2010-12-18 18:12 1509一.Web服务 Web服务是一种新型的Web应用程序。不同于 ... -
Web service是什么?
2010-11-28 19:41 710我认为,下一代互联网软件将建立在Web service(也 ... -
Java事务处理总结
2010-11-02 09:19 691一、什么是Java事务 通常的观念认为,事务仅与数据库相关。 ... -
Ubuntu安装JDK配置Tomcat服务
2010-10-15 15:43 1174Ubuntu安装JDK配置Tomcat服 ... -
MyEclipse 代码提示卡死之终极优化
2010-10-12 10:18 960大多数javaman在使用myeclipse的过程中都遇到过代 ... -
struts 线程安全问题
2010-09-28 16:28 953Struts Action的线程安全问题 文章分类:Java ... -
spring ioc与aop
2010-09-28 15:06 1061aop叫aspect oriented program,面向切 ...
相关推荐
**JSP C标签引用**是JavaServer Pages(JSP)技术中的一种扩展,它允许开发者使用自定义标签库(Custom Tag Libraries),特别是JSP Standard Tag Library(JSTL)。JSTL是Java社区为了简化JSP开发,提高代码可读性...
**JSTL(JavaServer Pages Standard Tag...总之,JSTL和C标签库为JSP开发提供了强大的工具,使得页面更简洁、可读性更强,同时也提升了开发效率和应用的可维护性。掌握JSTL的使用对于任何JSP开发者来说都是至关重要的。
**JSP标准标签库(JSTL)与C标签库详解** JSP(JavaServer Pages)标准标签库(JSTL)是Java EE平台的一部分,它提供了一套标准的标签来处理常见任务,如迭代、条件判断、XML处理等,以简化JSP页面的编写,提高代码...
在Java服务器页面(JSP)开发中,C标签库(Core Tag Library)是JSTL(JavaServer Pages Standard Tag Library)的一部分,它提供了一系列便利的标签用于处理页面逻辑,如迭代、条件判断等。要使用C标签库,我们需要...
在Java服务器页面(JSP)开发中,C标签库(Core Tag Library)是JSTL(JavaServer Pages Standard Tag Library)的一部分,它提供了一系列用于处理常见任务的标签,如迭代、条件判断等,使得JSP代码更加简洁和易读。...
**JSP标准标签库(JSTL)详解** 在Java Web开发中,JSP(JavaServer Pages)标准标签库(JSTL)是用于增强JSP页面可读性和可维护性的重要工具。JSP标准标签库是Java社区过程(JCP)的一个成果,它将常见的JSP操作...
JSP标准标签库(JSTL)是为Java Server Pages(JSP)提供的一套标准自定义标签集合。JSTL允许开发者使用标签形式编写JSP页面,而不需要书写复杂的Java代码片段。这些标签被组织在不同的功能类别中,可以进行数据输出...
- `<c:set>`标签用于在JSP页面中设置变量。例如,我们可以设置一个变量并用它来存储数据: ```jsp <c:set var="name" value="张三"/> ${name} ``` 5. **其他库** - XML库(JSTL XML,`前缀)用于处理XML文档...
在JavaServer Pages (JSP) 技术中,标签(Tag)是用于增强页面可读性和简化代码的重要组件。它们提供了与HTML标签类似的结构,但允许开发者使用自定义的行为或功能。JSP标签分为三种主要类型:标准标签库(JSTL)、...
首先,使用`<c:set>`标签设置了几个变量,存储从`Hello.jsp`传递过来的参数值。然后,`<sql:setDataSource>`定义了一个数据源,指定MySQL数据库的驱动、URL、用户名和密码。接下来,`<sql:query>`执行了一个SQL查询...
在JavaServer Pages (JSP) 技术中,核心标签库是预定义的一组标签,它们为开发者提供了方便的方式来操作页面元素,如控制流程、输出数据、处理表单等。本篇文章将深入探讨JSP核心标签的使用方法,并介绍一些常用的...
### JSP标准标签库(JSTL)详解 #### 6.1 JSTL简介 JSTL(JSP Standard Tag Library),即JSP标准标签库,是由Sun Microsystems提出并由Apache Jakarta组织维护的一种用于简化JSP开发的技术。JSTL提供了一套标准化...
【JSP标准标签库实例】 JSP标准标签库(JSTL,JspServer Pages Standdard Tag Library)是由Sun Microsystems公司开发的一种用于简化JSP页面开发的组件。它的核心理念是通过提供预定义的标签集合,使得开发者可以...
这行代码告诉JSP引擎,我们可以使用以"c"为前缀的JSTL核心库标签。 总的来说,JSP的标签文件,尤其是JSTL核心库,是JEE开发中提升效率和代码质量的重要工具。通过熟练掌握和应用这些标签,开发者可以创建出更高效、...
在JSP页面中,Java标签库扮演着至关重要的角色,它允许开发者使用预先定义好的标签执行各种操作,例如数据输出、流程控制、迭代处理以及异常处理等。 JSP自带的核心标签库中,包含了许多用于简化Web开发的标签。...
JSP标准标签库(JSTL)是JavaServer Pages Standard Tag Library的缩写,它是Java EE标准的一部分,用于简化JSP页面中的代码,提高可读性和维护性。JSTL提供了一系列预定义的标签,这些标签覆盖了常见任务,如控制流...
C标签库,通常指的是Apache的Catalina标签库,也被称为Tomcat JSP标签库,它提供了一系列的便利标签,简化了JSP页面中的Java代码,使得页面更易于阅读和维护。本篇将详细讲解C标签的jar包以及如何在项目中使用。 ...
在传统的JSP开发中,我们通常使用内置标签,如`<jsp:include>`或`<c:forEach>`,但当需要实现特定业务逻辑或复杂功能时,自定义标签就显得尤为重要。 创建一个**Eclipse项目**来学习和实践JSP自定义标签是一个很好...