- 浏览: 140689 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
chxiaowu:
不错。1111111111
Java静动态代理模式示例 -
kufish001:
引用 当执行 java ***.class 的时候, j ...
深入探讨Java的类加载机制 -
centgo:
Vector 是线程安全的,ArrayList速度>Ve ...
ArrayList,Vector, LinkedList 的存储性能和特性 -
sonsyboy:
JVM的工作原理,谢谢博主!
解析JAVA中的内存分配 -
zhaoxudonglove:
现在越来越觉得java基础很重要而且还很有趣了!谢谢博主的解析 ...
解析JAVA中的内存分配
JavaServer Pages Standard Tag Library (1.1 ),它的中文名称为 JSP 标准标签函数库。JSTL是一个标准的已制定好的标签库,可以应用于各种领域,如:基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等。从表7-1 可以知道,JSTL所提供的标签函数库主要分为五大类:
(1)核心标签库 (Core tag library)
(2)I18N格式标签库 (I18N-capable formatting tag library)
(3)SQL标签库 (SQL tag library)
(4)XML标签库 (XML tag library)
(5)函数标签库 (Functions tag library)
表 7-1
JSTL 前置名称 URI 范例
核心标签库 c http://java.sun.com/jsp/jstl/core <c:out>
I18N格式标签库 fmt http://java.sun.com/jsp/jstl/xml <fmt:formatDate>
SQL标签库 sql http://java.sun.com/jsp/jstl/sql <sql:query>
XML标签库 xml http://java.sun.com/jsp/jstl/fmt <x:forBach>
函数标签库 fn http://java.sun.com/jsp/jstl/functions <fn:split>
表 7-2
分类 功能分类 标签名称
Core 表达式操作 outsetremove catch
流程控制 if choose when otherwise
迭代操作 forEach forTokens
URL操作 Import param url param redirect param
在 JSP 中要使用 JSTL 中的核心标签库时,必须使用<%@ taglib %>指令,并且设定 prefix 和uri的值,通常设定如下:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
表达式操作
表达式操作分类中包含四个标签:<c:out>、<c:set>、<c:remove>和<c:catch>。
● <c:out>
语法
语法1:没有本体(body)内容
<c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />
语法2:有本体内容
<c:out value="value" [escapeXml="{true|false}"]>
default value
</c:out>
属性
名称 说明 EL 类型 必须 默认值
value 需要显示出来的值 YObject Object 是 无
default 如果value的值为null,则显示 default 的值 YObject Object 否 无
escapeXml 是否转换特殊字符,如:<转换成< Yboolean boolean 否 true
注意
表格中的EL字段,表示此属性的值是否可以为 EL表达式,例如:Y表示 attribute = "${表达式}"为符合语法的,N则反之。
● <c:set>
<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 对象的属性中
< c:set value="value" target="target" property="propertyName" />
语法4:
将本体内容的数据储存至 target 对象的属性中
<c:set target="target" property="propertyName">
… 本体内容
</c:set>
属性
名称 说明 EL 类型 必须 默认值
value 要被储存的值 Y Object 否 无
var 欲存入的变量名称 N String 否 无
scope var变量的JSP范围 N String 否 page
target 为一JavaBean或java.util.Map 对象 Y Object 否 无
property 指定target对象的属性 Y String 否 无
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时,property 指定的属性为 null
● <c:remove>
<c:remove>主要用来移除变量。
语法
<c:remove var="varName" [scope="{ page|request|session|application }"] />
属性
名称 说明 EL 类型 必须 默认值
var 欲移除的变量名称 N String 是 无
scope var变量的JSP范围 N String 否 page
说明
<c:remove>必须要有var属性,即要被移除的属性名称,scope 则可有可无,例如:
<c:remove var="number" scope="session" />
● <c:catch>
<c:catch>主要用来处理产生错误的异常状况,并且将错误信息储存起来。
语法
<c:catch [var="varName"] >
… 欲抓取错误的部分
</c:catch>
属性
名称 说明 EL 类型 必须 默认值
var 用来储存错误信息的变量 N String 否 无
说明
<c:catch>主要将可能发生错误的部分放在<c:catch>和</c:catch>之间。如果真的发生错误,可以将错误信息储存至varName 变量中,例如:
<c:catch var="message">
//可能发生错误的部分
</c:catch>
另外,当错误发生在<c:catch>和</c:catch>之间时,则只有<c:catch>和</c:catch>之间的程序会被中止忽略,但整个网页不会被中止。
7-2-2 流程控制
流程控制分类中包含四个标签:<c:if>、<c:choose>、<c:when>和<c:otherwise>.
● <c:if>
<c:if>的用途就和我们一般在程序中用的 if 一样。
语法
语法1:没有本体内容(body)
<c:if test="testCondition" var="varName"
[scope="{page|request|session|application}"]/>
语法2:有本体内容
<c:if test="testCondition" [var="varName"]
[scope="{page|request|session|application}"]>
具体内容
</c:if>
属性
名称 说明 EL 类型 必须 默认值
test 如果表达式的结果为true,则执行本体内容,false则相反 Y boolean 是 无
var 用来储存test运算后的结果,即 true 或 false N String 否 无
scope var变量的JSP范围 N String 否 page
● <c:choose>
<c:choose>本身只当做 <c:when> 和 <c:otherwise> 的父标签。
语法
<c:choose>
本体内容( <when> 和 <otherwise> )
</c:choose>
限制
<c:choose>的本体内容只能有:
·空白
·1或多个 <c:when>
·0或多个 <c:otherwise>
● <c:when>
<c:when> 的用途就和我们一般在程序中用的 when 一样。
语法
<c:when test="testCondition" >
本体内容
</c:when>
属性
名称 说明 EL 类型 必须 默认值
test 如果表达式的结果为true,则执行本体内容,false则相反 Y boolean 是 无
限制
☆ <c:when>必须在<c:choose>和</c:choose>之间
☆ 在同一个<c:choose>中时,<c:when>必须在<c:otherwise>之前
说明
<c:when>必须有 test 属性,当 test 中的表达式结果为 true 时,则会执行本体内容;如果为false时,则不会执行。
● <c:otherwise>
在同一个 <c:choose> 中,当所有 <c:when> 的条件都没有成立时,则执行 <c:otherwise> 的本体内容。
语法
<c:otherwise>
本体内容
</c:otherwise>
迭代操作
迭代(Iterate)操作主要包含两个标签:<c:forEach>和<c:forTokens>.
● <c:forEach>
<c:forEach> 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c:forEach>的本体内容。
语法
语法1:迭代一集合对象之所有成员
<c:forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
本体内容
< /c:forEach>
语法2:迭代指定的次数
<c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]>
本体内容
</c:forEach>
属性
名称 说明 EL 类型 必须 默认值
var 用来存放现在指到的成员 N String 否 无
items 被迭代的集合对象 Y Arrays Collection Iterator Enumeration Map String 否 无
varStatus 用来存放现在指到的相关成员信息 N String 否 无
begin 开始的位置 Y int 否 0
end 结束的位置 Y int 否 最后一个成员
step 每次迭代的间隔数 Y int 否 1
说明
如果要循序浏览一个集合对象,并将它的内容显示出来,就必须有 items 属性。
<c:forEach>并不只是用来浏览集合对象而已, items并不是一定要有的属性,但是当没有使用 items 属性时,就一定要使用 begin 和 end 这两个属性。
<c:forEach>还提供varStatus 属性,主要用来存放现在指到之成员的相关信息。例如:
我们写成varStatus="s",那么将会把信息存放在名称为 s 的属性当中。varStatus属性还有另外四个属性:index、count、first和last,它们各自代表的意义如表 7-5:
表 7-5
属性 类型 意义
index number 现在指到成员的索引
count number 总共指到成员的总数
first boolean 现在指到的成员是否为第一个成员
last boolean 现在指到的成员是否为最后一个成员
● <c:forTokens>
<c:forTokens> 用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的。
语法
<c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"]
[varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
本体内容
</c:forTokens>
属性
名称 说明 EL 类型 必须 默认值
var 用来存放现在指到的成员 N String 否 无
items 被迭代的字符串 Y String 是 无
delims 定义用来分割字符串的字符 N String 是 无
varStatus 用来存放现在指到的相关成员信息 N String 否 无
begin 开始的位置 Y int 否 0
end 结束的位置 Y int 否 最后一个成员
step 每次迭代的间隔数 Y Int 否 1
范例
下面为一个典型的<c:forTokens>的范例:
<c:forTokens items="A,B,C,D,E" delims="," var="item" >
${item}
</c:forTokens>
URL 操作
JSTL 包含三个与 URL 操作有关的标签,它们分别为:<c:import>、<c:redirect>和<c:url>。它们主要的功能是:用来将其他文件的内容包含起来、网页的导向,还有 url 的产生。
● <c:import>
<c:import> 可以把其他静态或动态文件包含至本身 JSP 网页。它和 JSP Action 的<jsp:include>最大的差别在于:<jsp:include>只能包含和自己同一个 web application下的文件;
而<c:import>除了能包含和自己同一个 web application 的文件外,亦可以包含不同 web application或者是其他网站的文件。
语法
语法1:
<c:import url="url" [context="context"] [var="varName"]
[scope="{page|request|session|application}"] [charEncoding="charEncoding"]>
本体内容
</c:import>
语法2:
<c:import url="url" [context="context"]
varReader="varReaderName" [charEncoding="charEncoding"]>
本体内容
</c:import>
属性
名称 说明 EL 类型 必须 默认值
url 一文件被包含的地址 Y String 是 无
context 相同Container下,其他 web站台必须以“/” 开头 Y String 否 无
var 储存被包含的文件的内容(以String类型存入) N String 否 无
scope var变量的JSP范围 N String 否 Page
charEncoding 被包含文件之内容的编码格式 Y String 否 无
varReader 储存被包含的文件的内容(以Reader类型存入) N String 否 无
说明
<c:import>中必须要有 url 属性,它是用来设定被包含网页的地址。它可以为绝对地址或是相对地址.
<c:import>也支持FTP协议,假设现在有一个 FTP站台,地址为 ftp.javaworld.com.tw,它里面有一个文件data.txt,那么可以写成如下方式将其内容显示出来:
<c:import url="ftp://ftp.cse.yzu.edu.tw/data.txt" />
另外,可以在<c:import>的本体内容中使用<c:param>,它的功用主要是:可以将参数传递给被包含的文件,它有两个属性name和value.如:
<c:import url="http://java.sun.com" >
<c:param name="test" value="1234" />
</c:import>
这样的做法等于是包含一个文件,并且所指定的网址会变成如下:
http://java.sun.com?test=1234
● <c:url>
<c:url>主要用来产生一个URL。
语法
语法1:没有本体内容
<c:url value="value" [context="context"] [var="varName"]
[scope="{page|request|session|application}"] />
语法2:本体内容代表查询字符串(Query String)参数
<c:url value="value" [context="context"] [var="varName"]
[scope="{page|request|session|application}"] >
<c:param> 标签
</c:url>
属性
名称 说明 EL 类型 必须 默认值
value 执行的URL Y String 是 无
context 相同Container下,其他web站台必须以“/”开头 Y String 否 无
var 储存被包含文件的内容(以String 类型存入) N String 否 无
scope var变量的JSP范围 N String 否 Page
<c:url value="http://www.javafan.net " >
<c:param name="param" value="value"/>
</c:url>
上面执行结果将会产生一个网址为http://www.javafan.net?param=value,我们更可以搭配 HTML 的<a>使用,如下:
<a href="
<c:url value="http://www.javafan.net " >
<c:param name="param" value="value"/>
</c:url>">Java爱好者</a>
如果<c:url>有 var属性时,则网址会被存到 varName中,而不会直接输出网址。
● <c:redirect>
<c:redirect>可以将客户端的请求从一个 JSP 网页导向到其他文件。
语法
语法1:没有本体内容
<c:redirect url="url" [context="context"] />
语法2:本体内容代表查询字符串(Query String)参数
<c:redirect url="url" [context="context"] >
<c:param>
</c:redirect >
属性
名称 说明 EL 类型 必须 默认值
url 导向的目标地址 Y String 是 无
context 相同Container下,其他web站台必须以“/”开头 Y String 否 无
url就是设定要被导向到的目标地址,它可以是相对或绝对地址。
<c:redirect> 的功能不止可以导向网页,同样它还可以传递参数给目标文件。如:
<c:redirect url="http://java.sun.com">
<c:param name="param" value="value"/>
</c:redirect>
(1)核心标签库 (Core tag library)
(2)I18N格式标签库 (I18N-capable formatting tag library)
(3)SQL标签库 (SQL tag library)
(4)XML标签库 (XML tag library)
(5)函数标签库 (Functions tag library)
表 7-1
JSTL 前置名称 URI 范例
核心标签库 c http://java.sun.com/jsp/jstl/core <c:out>
I18N格式标签库 fmt http://java.sun.com/jsp/jstl/xml <fmt:formatDate>
SQL标签库 sql http://java.sun.com/jsp/jstl/sql <sql:query>
XML标签库 xml http://java.sun.com/jsp/jstl/fmt <x:forBach>
函数标签库 fn http://java.sun.com/jsp/jstl/functions <fn:split>
表 7-2
分类 功能分类 标签名称
Core 表达式操作 outsetremove catch
流程控制 if choose when otherwise
迭代操作 forEach forTokens
URL操作 Import param url param redirect param
在 JSP 中要使用 JSTL 中的核心标签库时,必须使用<%@ taglib %>指令,并且设定 prefix 和uri的值,通常设定如下:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
表达式操作
表达式操作分类中包含四个标签:<c:out>、<c:set>、<c:remove>和<c:catch>。
● <c:out>
语法
语法1:没有本体(body)内容
<c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />
语法2:有本体内容
<c:out value="value" [escapeXml="{true|false}"]>
default value
</c:out>
属性
名称 说明 EL 类型 必须 默认值
value 需要显示出来的值 YObject Object 是 无
default 如果value的值为null,则显示 default 的值 YObject Object 否 无
escapeXml 是否转换特殊字符,如:<转换成< Yboolean boolean 否 true
注意
表格中的EL字段,表示此属性的值是否可以为 EL表达式,例如:Y表示 attribute = "${表达式}"为符合语法的,N则反之。
● <c:set>
<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 对象的属性中
< c:set value="value" target="target" property="propertyName" />
语法4:
将本体内容的数据储存至 target 对象的属性中
<c:set target="target" property="propertyName">
… 本体内容
</c:set>
属性
名称 说明 EL 类型 必须 默认值
value 要被储存的值 Y Object 否 无
var 欲存入的变量名称 N String 否 无
scope var变量的JSP范围 N String 否 page
target 为一JavaBean或java.util.Map 对象 Y Object 否 无
property 指定target对象的属性 Y String 否 无
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时,property 指定的属性为 null
● <c:remove>
<c:remove>主要用来移除变量。
语法
<c:remove var="varName" [scope="{ page|request|session|application }"] />
属性
名称 说明 EL 类型 必须 默认值
var 欲移除的变量名称 N String 是 无
scope var变量的JSP范围 N String 否 page
说明
<c:remove>必须要有var属性,即要被移除的属性名称,scope 则可有可无,例如:
<c:remove var="number" scope="session" />
● <c:catch>
<c:catch>主要用来处理产生错误的异常状况,并且将错误信息储存起来。
语法
<c:catch [var="varName"] >
… 欲抓取错误的部分
</c:catch>
属性
名称 说明 EL 类型 必须 默认值
var 用来储存错误信息的变量 N String 否 无
说明
<c:catch>主要将可能发生错误的部分放在<c:catch>和</c:catch>之间。如果真的发生错误,可以将错误信息储存至varName 变量中,例如:
<c:catch var="message">
//可能发生错误的部分
</c:catch>
另外,当错误发生在<c:catch>和</c:catch>之间时,则只有<c:catch>和</c:catch>之间的程序会被中止忽略,但整个网页不会被中止。
7-2-2 流程控制
流程控制分类中包含四个标签:<c:if>、<c:choose>、<c:when>和<c:otherwise>.
● <c:if>
<c:if>的用途就和我们一般在程序中用的 if 一样。
语法
语法1:没有本体内容(body)
<c:if test="testCondition" var="varName"
[scope="{page|request|session|application}"]/>
语法2:有本体内容
<c:if test="testCondition" [var="varName"]
[scope="{page|request|session|application}"]>
具体内容
</c:if>
属性
名称 说明 EL 类型 必须 默认值
test 如果表达式的结果为true,则执行本体内容,false则相反 Y boolean 是 无
var 用来储存test运算后的结果,即 true 或 false N String 否 无
scope var变量的JSP范围 N String 否 page
● <c:choose>
<c:choose>本身只当做 <c:when> 和 <c:otherwise> 的父标签。
语法
<c:choose>
本体内容( <when> 和 <otherwise> )
</c:choose>
限制
<c:choose>的本体内容只能有:
·空白
·1或多个 <c:when>
·0或多个 <c:otherwise>
● <c:when>
<c:when> 的用途就和我们一般在程序中用的 when 一样。
语法
<c:when test="testCondition" >
本体内容
</c:when>
属性
名称 说明 EL 类型 必须 默认值
test 如果表达式的结果为true,则执行本体内容,false则相反 Y boolean 是 无
限制
☆ <c:when>必须在<c:choose>和</c:choose>之间
☆ 在同一个<c:choose>中时,<c:when>必须在<c:otherwise>之前
说明
<c:when>必须有 test 属性,当 test 中的表达式结果为 true 时,则会执行本体内容;如果为false时,则不会执行。
● <c:otherwise>
在同一个 <c:choose> 中,当所有 <c:when> 的条件都没有成立时,则执行 <c:otherwise> 的本体内容。
语法
<c:otherwise>
本体内容
</c:otherwise>
迭代操作
迭代(Iterate)操作主要包含两个标签:<c:forEach>和<c:forTokens>.
● <c:forEach>
<c:forEach> 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c:forEach>的本体内容。
语法
语法1:迭代一集合对象之所有成员
<c:forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
本体内容
< /c:forEach>
语法2:迭代指定的次数
<c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]>
本体内容
</c:forEach>
属性
名称 说明 EL 类型 必须 默认值
var 用来存放现在指到的成员 N String 否 无
items 被迭代的集合对象 Y Arrays Collection Iterator Enumeration Map String 否 无
varStatus 用来存放现在指到的相关成员信息 N String 否 无
begin 开始的位置 Y int 否 0
end 结束的位置 Y int 否 最后一个成员
step 每次迭代的间隔数 Y int 否 1
说明
如果要循序浏览一个集合对象,并将它的内容显示出来,就必须有 items 属性。
<c:forEach>并不只是用来浏览集合对象而已, items并不是一定要有的属性,但是当没有使用 items 属性时,就一定要使用 begin 和 end 这两个属性。
<c:forEach>还提供varStatus 属性,主要用来存放现在指到之成员的相关信息。例如:
我们写成varStatus="s",那么将会把信息存放在名称为 s 的属性当中。varStatus属性还有另外四个属性:index、count、first和last,它们各自代表的意义如表 7-5:
表 7-5
属性 类型 意义
index number 现在指到成员的索引
count number 总共指到成员的总数
first boolean 现在指到的成员是否为第一个成员
last boolean 现在指到的成员是否为最后一个成员
● <c:forTokens>
<c:forTokens> 用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的。
语法
<c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"]
[varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
本体内容
</c:forTokens>
属性
名称 说明 EL 类型 必须 默认值
var 用来存放现在指到的成员 N String 否 无
items 被迭代的字符串 Y String 是 无
delims 定义用来分割字符串的字符 N String 是 无
varStatus 用来存放现在指到的相关成员信息 N String 否 无
begin 开始的位置 Y int 否 0
end 结束的位置 Y int 否 最后一个成员
step 每次迭代的间隔数 Y Int 否 1
范例
下面为一个典型的<c:forTokens>的范例:
<c:forTokens items="A,B,C,D,E" delims="," var="item" >
${item}
</c:forTokens>
URL 操作
JSTL 包含三个与 URL 操作有关的标签,它们分别为:<c:import>、<c:redirect>和<c:url>。它们主要的功能是:用来将其他文件的内容包含起来、网页的导向,还有 url 的产生。
● <c:import>
<c:import> 可以把其他静态或动态文件包含至本身 JSP 网页。它和 JSP Action 的<jsp:include>最大的差别在于:<jsp:include>只能包含和自己同一个 web application下的文件;
而<c:import>除了能包含和自己同一个 web application 的文件外,亦可以包含不同 web application或者是其他网站的文件。
语法
语法1:
<c:import url="url" [context="context"] [var="varName"]
[scope="{page|request|session|application}"] [charEncoding="charEncoding"]>
本体内容
</c:import>
语法2:
<c:import url="url" [context="context"]
varReader="varReaderName" [charEncoding="charEncoding"]>
本体内容
</c:import>
属性
名称 说明 EL 类型 必须 默认值
url 一文件被包含的地址 Y String 是 无
context 相同Container下,其他 web站台必须以“/” 开头 Y String 否 无
var 储存被包含的文件的内容(以String类型存入) N String 否 无
scope var变量的JSP范围 N String 否 Page
charEncoding 被包含文件之内容的编码格式 Y String 否 无
varReader 储存被包含的文件的内容(以Reader类型存入) N String 否 无
说明
<c:import>中必须要有 url 属性,它是用来设定被包含网页的地址。它可以为绝对地址或是相对地址.
<c:import>也支持FTP协议,假设现在有一个 FTP站台,地址为 ftp.javaworld.com.tw,它里面有一个文件data.txt,那么可以写成如下方式将其内容显示出来:
<c:import url="ftp://ftp.cse.yzu.edu.tw/data.txt" />
另外,可以在<c:import>的本体内容中使用<c:param>,它的功用主要是:可以将参数传递给被包含的文件,它有两个属性name和value.如:
<c:import url="http://java.sun.com" >
<c:param name="test" value="1234" />
</c:import>
这样的做法等于是包含一个文件,并且所指定的网址会变成如下:
http://java.sun.com?test=1234
● <c:url>
<c:url>主要用来产生一个URL。
语法
语法1:没有本体内容
<c:url value="value" [context="context"] [var="varName"]
[scope="{page|request|session|application}"] />
语法2:本体内容代表查询字符串(Query String)参数
<c:url value="value" [context="context"] [var="varName"]
[scope="{page|request|session|application}"] >
<c:param> 标签
</c:url>
属性
名称 说明 EL 类型 必须 默认值
value 执行的URL Y String 是 无
context 相同Container下,其他web站台必须以“/”开头 Y String 否 无
var 储存被包含文件的内容(以String 类型存入) N String 否 无
scope var变量的JSP范围 N String 否 Page
<c:url value="http://www.javafan.net " >
<c:param name="param" value="value"/>
</c:url>
上面执行结果将会产生一个网址为http://www.javafan.net?param=value,我们更可以搭配 HTML 的<a>使用,如下:
<a href="
<c:url value="http://www.javafan.net " >
<c:param name="param" value="value"/>
</c:url>">Java爱好者</a>
如果<c:url>有 var属性时,则网址会被存到 varName中,而不会直接输出网址。
● <c:redirect>
<c:redirect>可以将客户端的请求从一个 JSP 网页导向到其他文件。
语法
语法1:没有本体内容
<c:redirect url="url" [context="context"] />
语法2:本体内容代表查询字符串(Query String)参数
<c:redirect url="url" [context="context"] >
<c:param>
</c:redirect >
属性
名称 说明 EL 类型 必须 默认值
url 导向的目标地址 Y String 是 无
context 相同Container下,其他web站台必须以“/”开头 Y String 否 无
url就是设定要被导向到的目标地址,它可以是相对或绝对地址。
<c:redirect> 的功能不止可以导向网页,同样它还可以传递参数给目标文件。如:
<c:redirect url="http://java.sun.com">
<c:param name="param" value="value"/>
</c:redirect>
发表评论
-
Java静动态代理模式示例
2011-11-16 13:03 1483设计模式 1.静态代理模式 使用场合: 为其他对象提供一种 ... -
Java 连接池
2008-12-07 19:01 756package jo.service.webservice; ... -
Java中利用Reflection API优化代码
2008-12-07 19:00 1061摘要 开发者通过各 ... -
深入探讨Java的类加载机制
2008-12-07 18:57 2223Java 语言是一种具有动态性的解释型编程语言,当指定程序 ... -
解析JAVA中的内存分配
2008-12-07 18:55 2027照编译原理的观点 ... -
BASE64编码规则
2008-12-07 18:18 55361、编码规则: Base64编 ... -
Servlet读取Cookie
2008-12-07 18:17 5442Cookie概述 Cookie是服务器发送给浏览器的体 ... -
Java同步机制:sychronized对代码影响
2008-12-07 18:12 1368Java对多线程的支持与同步机制深受大家的喜爱,似乎看起来使用 ... -
hibernate二级缓存攻略
2008-06-21 17:05 1145文章来源:http://www.iteye.com/topic ... -
实战DDD(Domain-Driven Design领域驱动设计)
2008-06-17 17:47 1529http://www.jdon.com/mda/ddd.htm ... -
容器和bean的基本原理
2008-01-23 14:46 1262org.springframework.beans及org.s ... -
注入依赖
2008-01-23 14:45 1030依赖注入(DI)背后的基本原理是对象之间的依赖关系(即一起工作 ... -
提高JSP的性能
2008-01-23 14:39 879方法一:在servlet的init() ... -
EL 表达式
2008-01-23 14:34 4730JSP2.0之后,EL已经正式纳入成为标准规范之一。 JSF ... -
挖掘Jakarta Commons中隐藏的宝贝(二)
2008-01-23 14:32 10832.Commons Collections中的算子 算子成为C ... -
挖掘Jakarta Commons中隐藏的宝贝(一)
2008-01-23 14:31 1105如果你不熟悉Jakarta Commons话,那么很有可能你已 ... -
海量数据库的查询优化及分页算法方案
2008-01-23 14:20 932随着“金盾工程”建设 ... -
ServletContext接口
2007-12-10 18:24 1521对于web容器来说,ServletContext接口定义了一个 ... -
java学习的四个阶段(二)
2007-12-01 20:15 1160第三阶段: 您将学习 J2EE 技术 ... -
java学习的四个阶段(一)
2007-12-01 20:13 1049第一阶段: 您将学习 JAVA 编程的基础部分,即 J2SE ...
相关推荐
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.jar`和`standard.jar`这两个JAR包的介绍。以下是一段示例文本: --- ### JAR包资源介绍 #### 1. jstl.jar `jstl.jar`(JavaServer Pages Standard Tag Library,简称 JSTL)是一个...
**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开发的可维护性和可读性,通过使用预定义的标签,...
"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 ...
今天做项目,用到了el表达式和jstl,在tomcat6.0上跑得好好的,没想到copy到tomcat5.5后,服务器起不来了,是tomcat版本的问题。查阅了不少资料,现在总结如下: 错误信息: java.lang.NoClassDefFoundError: javax...
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 Standard Tag Library)详解** JSTL,全称为JavaServer Pages Standard Tag Library,是Java Web开发中的一个标准标签库,它为开发者提供了在JSP页面中处理常见任务的标签,例如迭代、...
**购物车(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的接口和抽象...