- 浏览: 115231 次
- 性别:
- 来自: 上海
文章分类
最新评论
JSTL
------------------------------------------------------------------------------
功能领域 URI 前缀 描述
Core http://java.sun.com/jsp/jstl/core c 核心标记库
format http://java.sun.com/jsp/jstl/fmt fmt 格式化标记库-进间、日期、国际化
SQL http://java.sun.com/jsp/jstl/sql sql 对数据库的操作
XML http://java.sun.com/jsp/jstl/xml xml 对XML的操作
Functions http://java.sun.com/jsp/jstl/functions fn 函数标记库,主要是字符串
用在视图层的技术
--------------------------------------------------------------------------------
用使:
1 引用标记库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<body>
用户名:<c:out value="${username}" />
</body>
</html>
-----------------------------------------------------------------------------------
Core核心标记库
操作变量 条件操作 循环操作 URI操作
out if forEach import
set choose forTokens url
remove when redirect转向
catch otherwise param
--------------------------------------------------------------------------------------
<c:out>标记
使用语法
1 <c:out value="vlaue" [escapeXml="{true|false}"]
[default="defaultValue"] />
2 <c:out value="vlaue" [escapeXml="{true|false}"]>
default value
</c:out>
属性
------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 | 缺省值
value | 需要输出的值,可以是EL表达式或常量 | 可以 | 是 | 无
default | value值为空时所输出的内容 | 可以 | 否 | 无
escapeXml | 为true对输出内容中的<、>、'、"和& | 可以 | 否 | true
| 字符进行转义,分别转成都市<,>, | | |
| ',"和&.为false不进行转义 | | |
------------------------------------------------------------------------
<c:set>标记
使用语法
1 <c:set value="value" var="name" [scope="{page|request|session|application}"] />
2 <c:set var="name" [scope="{page|request|session|application}"]>
value
</c:set>
3 <c:set var="name" target="target" property="propertName">
4 <c:set target="target" propert="propertyName">
value
</c:set>
3和4是给已有的对象属性赋值
属性
-----------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 | 缺省值
value | 要保存的内容,可以是EL表达式或常量 | 可以 | 是 | 无
target | 要修改属性的对象名,一般为javaBeans对象名 | 可以 | 否 | 无
property | 要修改的javaBeans的属性 | 可以 | 否 | 无
var | 要保存内容的变量名 | 否 | 是 | 无
scope | 保存内容的变量的作用范围 | 否 | 否 | page
-----------------------------------------------------------------------------
<c:remove>标记
使用语法
<c:remove var="name" [scope="{page|request|session|application}"] />
属性
------------------------------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 | 缺省值
var | 被删除的变量的名字 | 否 | 是 | 无
scope | 被删除的变量的作用范围 | 否 | 否 | page,request,session,application
------------------------------------------------------------------------------------------------
<c:catch>标记
使用语法
<c:catch [var="name"]>
body content
</c:catch>
属性
------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 | 缺省值
var | 用来保存违例信息的变量名 | 否 | 否 | 无
------------------------------------------------------------------------
例子:
<c:catch var="ex">
<%
String number="none";
int i=Integer.parseInt(number);
%>
</c:catch>
${ex}
将违例信息保存在ex变量中,如没有发生违例,则什么也不作
<c:if>标记
使用语法
1 <c:if test="condition" var="name" [scope="{page|request|session|application}"] />
2 <c:if test="condition" [var="name"] [scope="{page|request|session|application}"]>
body content
</c:if>
属性
-----------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 | 缺省值
test | 判断所要使用的条件 | 可以 | 是 | 无
var | 保存条件结果的变量的名称 | 否 | 否 | 无
scope | 保存条件结果的变量的作用范围 | 否 | 否 | page
-----------------------------------------------------------------------------
<c:choose>标记
使用语法
<c:choose>
body content(<when>and<otherwise>)
</c:choose>
<c:when>标记
使用语法
<c:when test="condition">
body content
</c:when>
属性
-----------------------------------------------------------------------------
属性名 | 描述 | 动态 | 必选 | 缺省值
test | 如果它的结果为true,执行<c:when>所包含的 | 可以 | 是 | 无
| 内容,false则不执行<c:when>所包含的内容 | | |
-----------------------------------------------------------------------------
<c:otherwise>标记
使用语法
<c:otherwise>
body content
</c:otherwise>
---------------------------------------------------------------------------
例子:
<c:choose>
<c:when test="${param.age>=70}">
70以上
</c:when>
<c:when test="${param.age>35 and param.age<70}">
35-70
</c:when>
<c:otherwise>
35以下
</c:otherwise>
</c:choose>
--------------------------------------------------------------------------------------------
<c:forEach>标记
使用语法
1 <c:forEach [var="name"] items="collection" [varStatus="varStatusName"]
[begin="begin"] [end="end"] [step="step"]>
body content
</c:forEach>
2 <c:forEach [var="name"] items="collection" [varStatus="varStatusName"]
begin="begin" end="end" [step="step"]>
body content
</c:forEach>
属性
------------------------------------------------------------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 | 类型 |缺省值
begin | 开始下标 | 可以 | 否 | int |0
end | 结束下标 | 可以 | 否 | int |集合中最后一个成员的索引
step | 步长 | 可以 | 否 | int |1
var | 代表当前成员的变量名 | 否 | 否 | String |无
items | 进得循环的集合 | 否 | 否 | String,数组,Map,Collection,Iterator,Enumeration |无
varStatus | 显示循环状态的变量 | 可以 | 否 | String |无
-------------------------------------------------------------------------------------------------------------------------------
varStatus属性
----------------------------------------------------------
名称 | 类型 | 描述
index | int | 现在所操作的成员的索引
count | int | 现在所操作的成员的总数
first | boolean | 现在所操作的成员,是否为第一个成员
last | boolean | 现在所操作的成员,是否为最后一个成员
----------------------------------------------------------
<%
String names[]=new String[4];
names[0]="afdsaf";
names[1]="dggh";
names[2]="bcbncn";
names[3]="434535";
pageContext.setAttribute("names",names);
Map map=new HashMap();
map.put("k1","v1");
map.put("k2","v2");
request.setAtrribute("map1",map);
%>
<c:forEach items="${names}" var="name" begin="1" end="2" step="1" varStatus="i">
${name } ${i.index } ${i.count } ${i.first } ${i.last }<br/>
</c:forEach>
<c:forEach items="${map1}" var="v">
${v.key } = ${v.value }<br/>
</c:forEach>
<c:forTokens>标记 将一个字符串进行分隔
使用语法
<c:forTokens items="stringOfTokens" delims="delimiters" [var="name"]
[varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
body content
</c:forTokens>
属性
------------------------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 | 类型 |缺省值
items | 进行迭代处理的变量 | 可以 | 是 | String |无
delims | 分割符号 | 可以 | 是 | char |无
begin | 开始下标 | 可以 | 否 | int |0
end | 结束下标 | 可以 | 否 | int |集合中最后一个成员的索引
step | 步长 | 可以 | 否 | int |1
var | 代表当前成员的变量名 | 否 | 否 | String |无
varStatus | 显示循环状态的变量 | 否 | 否 | String |无
-------------------------------------------------------------------------------------------
<c:forTokens items="dsf:dsafsa:dsffs,dfdfs" var="name" delims=":,">
${name }<br/>
</c:forTokens>
-------------------------------------------------------------------------------------------
<c:import>标记 相当于include将另外一个页面的内容引入到当前页面来
使用语法
1 <c:import url="url" [context="context"] [var="name"] [scope="{page|request|session|application}"]
[charEncoding="charEncoding"]>
<c:param>//可传参数
</c:import>
2 <c:import url="url" [context="context"] varReader="varReaderName"
[charEncoding="charEncoding"]>
body content//内容
</c:import>
属性
------------------------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 |缺省值
url | 需要导入页面url地址 | 是 | 是 |无
context | 本地web应用的名字 | 是 | 否 |当前应用的名子
charEncoding | 设置导入数据的字符编码 | 是 | 否 |ISO-8859-1
var | 接受导入文本的变量的名称 | 否 | 否 |无
scope | 接受导入文本内容的变量的作用范围 | 否 | 否 |page
varReader | 用于接受导入文本的java.io.Reader变量的名称 | 否 | 否 |无
-------------------------------------------------------------------------------------------
<c:url>标记 创建链接
使用语法
1 <c:url value="value" [context="context"] [var="name"] [scope="{page|request|session|application}"] />
2 <c:url value="value" [context="context"] [var="name"] [scope="{page|request|session|application}"] />
<c:param />
</c:url>
属性
------------------------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 |缺省值
value | url地址 | 是 | 是 |无
context | web应用的名字 | 是 | 否 |当前web应用的名子
var | 保存url地址的变量的名称 | 否 | 否 |输出到当前页面
scope | 存储url地址的变量的作用范围 | 否 | 否 |page
-------------------------------------------------------------------------------------------
<c:url var="website" value="http://localhost:8080/webproject/out.jsp">
<c:param name="p" value="hello" />
</c:url>
${website }<br>
<a href=" ${website }">dddd</a>
--------------------------------------------------------------------------------
<c:redirect>标记 页面跳转
使用语法
1 <c:redirect url="value" [context="context"] />
2 <c:redirect url="value" [context="context"]>
<c:param />
</c:redirect>
属性
------------------------------------------------------------------------------------------
属性名 | 描述 | 必选 |缺省值
url | url地址 | 是 |无
context | 要转向到的web应用的名字 | 否 |当前web应用的名子
-------------------------------------------------------------------------------------------
<c:redirect url="LoopTag.jsp">
<c:param name="p" value="aa" />
</c:redirect>
-------------------------------------------------------------------------------
Format标记库
-----------------------------------------
国际化有关 | 时间日期有关(一般不在页面作处理)
setLocale | formatNumber
requestEncoding | formatDate
bundle | parseDate
message | parseNumber
param | setTimeZone
setBundle | timeZone
-----------------------------------------
<fmt:setLocale>标记 设置国际化语言
使用语法
<fmt:setLocale value="locale" [variant="variant"] [scope="{page|request|session|application}"] />
属性
---------------------------------------------------------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 |缺省值
value | 表示该语言环境的一个字符串,或者是java.util.Locale类的对象 | 可以 | 是 |无
scope | 指定这个对象的作用范围,有效值为page,requset,session,applicattion | 否 | 否 |page
variant | 进一步针对特定的平台或供应商定制语言环境。如,MAC和WIN分别对应Macintosh和Windows平台 | 可以 | 否 |无
---------------------------------------------------------------------------------------------------------------------------
<fmt:setBundle>标记 设定国际化资源束的位置
使用语法
<fmt:setBundle basename="basename" [var="name"] [scope="{page|request|session|application}"] />
属性
---------------------------------------------------------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 |缺省值
basename | 设置使用的资源文件束文件的路径与名称,不应当包含任保本地化后缀或文件扩展名 | 可以 | 是 |无
var | 设置了该属性,那么将把basename属性所标识的资源束赋给该属性值所命名的变量 | 否 | 否 |无
scope | 指明缺省资源束设置所应用的JSP作用域 | 否 | 否 |page
---------------------------------------------------------------------------------------------------------------------------
束文件名resources_zh_CN.properties(basename属性)
<fmt:setBundle basename="com.v512.examples.resources" />
<fmt:bundle>标记 设定某个页面或某几行国际化资源束的位置
使用语法
<fmt:bundle basename="basename" [prefix="prefix"]>
body content
<fmt:bundle>
属性
---------------------------------------------------------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 |缺省值
basename | 设置使用的资源文件束文件的路径与名称,不应当包含任保本地化后缀或文件扩展名 | 可以 | 是 |无
prefix | 为所嵌套的<fmt:message>标记的key值指定缺省前缀 | 可以 | 否 |无
---------------------------------------------------------------------------------------------------------------------------
<fmt:message>标记 (核心)设置资料束文件中的KEY和对应的内容
使用语法
1 <fmt:message key="messageKey" [bundle="resourceBundle"] [var="varName"] [scope="{page|request|session|application}"] />
2 <fmt:message [bundle="resourceBundle"] [var="varName"] [scope="{page|request|session|application}"]>
key
[<fmt:param>]
</fmt:message>
属性
-----------------------------------------------------------------------------------------------------------------------------------------------
属性名 | 描述 | EL | 必选 |缺省值
key | 用来确定在资源束中定义哪个文本消息进行输出显示 | 可以 | 是 |无
bundle | 用来指定一个显式的资源束,用来查找由key属性标识的消息.请注意,该属性的值必须是实际的资源束. | 可以 | 否 |无
| 如当指定<fmt:setBundle>操作的var属性时同该标记所赋予的资源束.<fmt:message>的bundle属性不支持字符串值
var | 该标记所生成的文本消息赋给指定的变量,而不是输出到JSP页面中 | 否 | 否 |无
scope | 由来指定的var属性指定的变量的作用域,有效值:page,request,session,application | 否 | 否 |page
-----------------------------------------------------------------------------------------------------------------------------------------------
<fmt:requestEncoding>标记 设置编码方式
使用语法
<fmt:requestEncoding [value="charsetName"] />
作用等同于
request.setCharacterEncoding()
--------------------------------------------------------------------------------
<fmt:param>标记 设置编码方式
使用语法
1 <fmt:param value="messageParameter" />
2 <fmt:param>
body content
</fmt:param>
-----------------------------------------------------------------
<fmt:formatDate> 标记
使用方法:
<fmt:formatDate value="${today}" type="date" />
<fmt:formatDate value="${today}" dateStyle="full" />
<fmt:formatDate value="${today}" pattern="yyyy/MM/dd HH:mm:ss" />
<fmt:formatDate value="${today}" pattern="yyyy/MM/dd HH:mm:ss" var="d"/>
----------------------------------------------------------------------------
属性名 | 描述 | 值 |结果
value | 要格式化的日期值 | default |2008-8-1
type | 显现的日期格式 | date |2008-8-1
| | time |14:47:59
| | both |2008-8-1 14:47:59
dateStyle | 显现的日期格式 | short |08-8-1
| | medium |2008-8-1
| | long |2008年8月1日
| | full |2008年8月1日 星期一
pattern | 定义日期格式 |yyy/MM/dd HH:mm:ss |2008/08/01 14:47:59
var | 保存值变量名 | |
scope | 保存变量的scope | |
-----------------------------------------------------------------------------
<fmt:formatNumber> 标记
<fmt:formatNumber value="${n}" pattern="###,###.##"/>
<fmt:formatNumber value="${n}" pattern="###,###.0000"/>
----------------------------------------------------------------------------
属性名 | 描述 | 值 |结果
value | 要格式化的日期值 | default |123,456.123
type | 显现的数据格式 | number(数字) |123,456.123
| | currency(货币) |¥123,456.123
| | percent(百分比) |23.33%
groupingUsed| 是否分组显示 | true/false |
pattern | 定义数据格式 |###,###.## |123,456.123
| |###,###.0000 |123,456.1230
var | 保存值变量名 | |
scope | 保存变量的scope | |
-----------------------------------------------------------------------------
<format>标记例子
1 建立resources.properties文件(英文)
内容:guestbook.display.welcome=welcome to my website
2 建立resources.properties_zh_CN.properties文件(中文)
方法:
(1)在临时目录下建立一个临时文件resources_t.properties
内容:guestbook.display.welcome=欢迎大家访问网站
(2)在DOS下进行该临时目录,执行DOS命今
c:\temp>native2ascii -encoding uft-8 resources_t.properties resources_zh_CN.properties
(3)将转换好的文件复制到项目目录下
3 建立JSP页面
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
fmt:bundle basename="com.tags.resources">
<fmt:message key="guestbook.display.welcome">
</fmt:message>
</fmt:bundle>
-----------------------------------------------------------------------------------------------------------
<sql>标签
<setDatasource>
<update>
<query>
<param>
1 导入sql的jar包
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<sql:setDataSource driver="" url="" user="" password="" var="" scope=""/>
<sql:update var="oerder" dataSource="${conn}">
insert into BookOrder(username,zipcode,phone,creditcard,total)
values(?,?,'88888833333','123432432423',50.00)
<sql:param value="accp"/>
<sql:param value="1111"/>
</sql:update>
<sql:query var="rs" dataSource="${conn}">
select * from aa
</sql:query>
<C:forEach var="row" items="${rs.rows}">
${row.username} ${row.password}
</c:forEach>
发表评论
-
javaBean
2009-11-29 22:03 512javaBean * 封装数据 * 封装业务方法 <js ... -
jsp动作
2009-11-29 22:04 500jsp:include <jsp:include pag ... -
Tag Library-标记打包
2009-11-29 22:20 541Tag Library JAR 标记库打包 1 前建一个临时文 ... -
Tag Library-定制标记库
2009-11-29 22:29 498定制标记库 1 编写标记处理类 public class Ti ... -
JSP-自定义函数库
2009-11-29 22:30 594自定义函数库 1 定义类和方法(方法必须是public sta ... -
字符转换
2009-11-29 22:30 445request.setCharacterEncoding(&q ... -
properties配置文件
2009-11-29 22:45 4961 在src下建config.properties文件 con ... -
servlet基础
2009-11-29 22:46 596-HttpServletRequest request对象 r ... -
servlet监听器
2009-11-29 22:47 345servlet监听器 在WEB应用中响应特定对象的特定事件 好 ... -
servlet边滤器
2009-11-29 22:47 589servlet边滤器 1 编写实现javax.servlet. ... -
web服务(web Service)
2009-11-29 22:48 531web Service xml数据格式 SOAP(简单对象访问 ... -
内置对象
2009-11-29 22:49 651一个java类,运行在服务器端的,处理web请求 //客户端跳 ... -
生命周期
2009-11-29 22:50 5121 实例化:servlet容器创建servlet实例,构造方法 ...
相关推荐
jstl-1.2.1,之前的版本需要在服务器中配置一下,而且它分成了两个jar(jstl.jar和standard.jar)还有一个tld文件,而1.2已经不用配置了,直接把javax.servlet.jsp.jstl-1.2.1.jar和javax.servlet.jsp.jstl-api-1.2.1...
`jstl-api-1.2.jar` 和 `jstl-impl-1.2.jar` 是JSTL的两个关键组件: 1. **jstl-api-1.2.jar**:这是JSTL的API接口定义,包含了所有JSTL标签库的接口和抽象类。开发人员在编写JSP页面时需要导入这个包,以便使用...
**JSTL(JavaServer Pages Standard Tag Library)** 是一个标准的标签库,用于简化JavaServer Pages(JSP)开发。它提供了许多预定义的标签,使得开发者可以更方便地处理常见任务,如控制流、迭代、XML处理等,而...
JSTL,全称为JavaServer Pages Standard Tag Library,是Java服务器页面标准标签库,它提供了一系列的标签来简化JSP开发,使开发者能够更高效地编写动态网页。JSTL的主要目标是减少在JSP页面中使用脚本元素,提升...
**JSTL(JavaServer Pages Standard Tag Library)中文帮助文档** JSTL 是一套用于 JavaServer Pages (JSP) 的标准标签库,旨在简化 JSP 开发,提高代码的可读性和可维护性。它提供了多种核心标签和扩展标签,包括...
**JSTL(JavaServer Pages Standard Tag Library)**是一个用于JSP的标准标签库,它提供了一系列的标签,用于简化JSP页面中的业务逻辑处理。JSTL的主要目标是提高JSP开发的可维护性和可读性,通过使用预定义的标签,...
今天做项目,用到了el表达式和jstl,在tomcat6.0上跑得好好的,没想到copy到tomcat5.5后,服务器起不来了,是tomcat版本的问题。查阅了不少资料,现在总结如下: 错误信息: java.lang.NoClassDefFoundError: javax...
"jstl-impl-1.2.jar"和"jstl-api-1.2.jar"是JSTL 1.2版本的两个关键组件,它们在Java Web应用中起着至关重要的作用。 1. **jstl-api-1.2.jar**: 这个jar文件包含了JSTL的API接口定义。它定义了所有JSTL标签库的接口...
**JSTL(JavaServer Pages Standard Tag Library)**是一个用于JavaServer Pages(JSP)的标签库,旨在简化Web应用程序的开发。它提供了一系列预定义的标签,使得开发者可以通过简单的XML标记来处理常见任务,而无需...
**JSTL(JavaServer Pages Standard Tag Library)详解** JSTL,全称为JavaServer Pages Standard Tag Library,是Java EE平台中的一个标准标签库,它为JSP开发者提供了丰富的、可重用的组件,用于处理常见任务,如...
JSTL,全称为JavaServer Pages Standard Tag Library,是Java EE平台中用于简化JSP页面开发的一组标准标签库。它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、国际化、XML处理等,使得JSP代码...
**JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面的一个标准标签库,它提供了一组用于处理常见Web开发任务的标签,如迭代、条件判断、XML处理等,极大地简化了Java Servlet和JSP中的代码。...
JSTL,全称JavaServer Pages Standard Tag Library,是JavaServer Pages(JSP)标准标签库,它提供了一系列标签来简化JSP页面的编写,使页面逻辑更清晰,代码更简洁。在Java Web开发中,JSTL经常与EL(Expression ...
jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2...
**购物车(JSTL实现)** 购物车是任何电子商务网站的核心组成部分,它允许用户临时存储想要购买的商品,以便在结账时一次性处理。在这个项目中,我们将关注使用JavaServer Pages (JSP) 和 JavaServer Pages ...
JavaServer Pages Standard Tag Library,简称JSTL,是用于Java Web开发的标准标签库,它提供了一组用于处理常见任务的标签,比如迭代、条件判断、XML处理等,从而减轻了在JSP页面中使用Java脚本的复杂性。JSTL ...
1. 添加JSTL库:将JSTL的JAR文件(如`jstl.jar`和`standard.jar`)放入项目WEB-INF/lib目录下,或者如果使用Maven或Gradle,将依赖添加到构建文件中。 2. 引用JSTL库:在JSP页面的顶部,使用`<%@ taglib %>`指令...
在给定的压缩包文件中,我们有两个重要的JAR文件:`jstl-impl-1.2.jar`和`jstl-api-1.2.jar`。这两个文件是JSTL 1.2版本的核心组成部分。 1. **JSTL API (jstl-api-1.2.jar)** 这个JAR文件包含了JSTL的接口和抽象...
**JSP标准标签库(JSTL)详解** 在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术。为了提高JSP页面的可读性和可维护性,JSTL(JSP Standard Tag Library)应运而生。JSTL是一套标准的标签...