- 浏览: 79925 次
- 性别:
- 来自: 上海
文章分类
最新评论
从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 504一、单系统登录机制 1、http无状态协议 web ... -
Java开发规范
2017-03-16 10:45 537元数据起始 重要: 每次提交代码前,一定要使 ... -
java识别当前设备类型
2015-08-12 12:24 1606package com.tgb.util; impo ... -
JVM原理
2014-10-10 09:46 560JVM原理 JVM 原理解释 ... -
ldap java api
2013-11-11 10:41 1990从JDK5.0开始,对LDAP协议的数据访问操作就被集成在 ... -
java程序运行cmd命令
2011-12-06 10:48 1086public class Test { public st ... -
java正则表达式入门
2011-12-04 15:28 838java正则表达式入门 众所周知,在程 ... -
用JAVA刺穿LDAP (一)-- java添加AD用户
2011-11-09 14:20 3230//建立LDAP服务器的连接 package com ... -
使用java技术将Excel表格内容导入mysql数据库
2011-09-24 20:22 10251、添加POI jar包到项目的lib目录下2、Exce ... -
Eclipse快捷键-方便查找
2011-09-02 00:27 629【Ct rl+T】 搜索当前接口的实现类 1. 【 ... -
JSP C标签
2010-12-22 14:13 1028核心标签库 它是JSTL中的核心库,为日常任务提供通用 ... -
JSP EL语言
2010-12-21 11:15 722一、JSP EL语言定义 E L(Expre ... -
Myeclipse6.5下使用XFire开发WebService的简单例子
2010-12-18 18:22 856一,创建服务并发布: 1.新建一webservice项目(或 ... -
基于AXIS的web service项目环境搭建
2010-12-18 18:12 1468一.Web服务 Web服务是一种新型的Web应用程序。不同于 ... -
Web service是什么?
2010-11-28 19:41 677我认为,下一代互联网软件将建立在Web service(也 ... -
Java事务处理总结
2010-11-02 09:19 659一、什么是Java事务 通常的观念认为,事务仅与数据库相关。 ... -
Ubuntu安装JDK配置Tomcat服务
2010-10-15 15:43 1140Ubuntu安装JDK配置Tomcat服 ... -
MyEclipse 代码提示卡死之终极优化
2010-10-12 10:18 905大多数javaman在使用myeclipse的过程中都遇到过代 ... -
struts 线程安全问题
2010-09-28 16:28 909Struts Action的线程安全问题 文章分类:Java ... -
spring ioc与aop
2010-09-28 15:06 1026aop叫aspect oriented program,面向切 ...
相关推荐
JSTL(JSP标准标签库) C 标签 下载到本地资源 不用通过网络
JSTL所需jar包,jsp-c标签必须jar包、
jsp页面使用C标签,需要在页面引入c标签库 JSP 标准标签库(JSTL)
JSP使用C标签时必须引入的jar包,jstl.jar和standard.jar
c标签需要的jar、jst.jarl、standard.jar、commons-fileupload-1.3.2.jar、standard.jar
JSTL 1.0 发布于 2002 年 6 月,由四个定制标记库(core、...它还支持使用本地化资源束进行 JSP 页面的国际化。xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据,而 sql 库定义了用来查询关系数据库的操作。
jsp+servlet的C标签jar包和使用方法
JSP页面中利用C标签动态合并单元格,这是我在开发中写的,并且用了两种方法来实现,保证能使用,有截图为证
jsp核心标签C标签所需的jstl.jar和standard.jar
jsp之c标签用法实例分析.docx
c标签在jsp中的加载及相关jar包.rar
本文实例讲述了jsp之c标签用法。分享给大家供大家参考,具体如下: 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量、重复使用一组项目、测试条件和其他操作(如导入和重定向Web内容)。...
第一部分 jsp入门 第一章 概述 第二章 预备知识 第三章 jsp开发平台的建立--tomcat 第四章 jsp的语法和语义 第五章 作为xml的jsp 第六章 jsp基础实例 第七章 用jsp实现常见的web应用 ...附录C 常用jsp相关网址
web前端jsp用到的taglibs自定义标签jar包,如<c:if>标签等
jps中c标签报错需要导入的jar包
要有一定的jsp和servlet基础,运行环境为MyEclipse+Mysql+tomcat,将项目解压后导入工作空间,然后将项目部署到tomcat下即可运行(在WebRoot目录下有一个sql文件,在Mysql中运行该文件即可创建该项目所需要的表,一些...
在web页面开发时,我们经常会遇到下列情况: 1.一个标签仅仅是要触发onclick行为; 2.表现上要有鼠标的pointer指针显示,或者其他类似a标签的视觉效果。...){ parent.[removed]=”执行删除.jsp”; return true; } r
myeclipse2017 jsp页面 <c:if>在select里面写 导致后面代码不是彩色问题 一半黑一半彩色
3)当JSP页面执行自定义标签,遇到结束标签时将调用()方法执行处理。(选择一项) a) doStartTag() b) doEndTag() c) doInitBody() d) doAfterBody() 4) 在J2EE中,test.jsp文件中有如下一行代码...
Java Jstl C标签例子,很详尽的