﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-小菜毛毛技术分享-文章分类-JSTL</title><link>http://www.blogjava.net/caizh2009/category/39896.html</link><description>与大家共同成长</description><language>zh-cn</language><lastBuildDate>Sat, 30 May 2009 06:10:35 GMT</lastBuildDate><pubDate>Sat, 30 May 2009 06:10:35 GMT</pubDate><ttl>60</ttl><item><title>c:foreach 详解</title><link>http://www.blogjava.net/caizh2009/articles/278999.html</link><dc:creator>小菜毛毛</dc:creator><author>小菜毛毛</author><pubDate>Sat, 30 May 2009 04:18:00 GMT</pubDate><guid>http://www.blogjava.net/caizh2009/articles/278999.html</guid><wfw:comment>http://www.blogjava.net/caizh2009/comments/278999.html</wfw:comment><comments>http://www.blogjava.net/caizh2009/articles/278999.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caizh2009/comments/commentRss/278999.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caizh2009/services/trackbacks/278999.html</trackback:ping><description><![CDATA[&lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt;标签的使用 <br />
2007年03月10日 15:46&lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt;标签的使用 <br />
<br />
在JSP的开发中，迭代是经常要使用到的操作。例如，逐行的显示查询的结果等。在早期的JSP中，通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出。现在，通过JSTL的迭代标签可以在很大的程度上简化迭代操作。 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JSTL所支持的迭代标签有两个，分别是&lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt;和&lt;<span class="hilite1">c</span>:forTokens&gt;。在这里介绍的是&lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt;标签。 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 简单点说，&lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt;标签的作用就是迭代输出标签内部的内容。它既可以进行固定次数的迭代输出，也可以依据集合中对象的个数来决定迭代的次数。 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt;标签的语法定义如下所示。 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span> var="name" items="expression" varStatus="name" <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin="expression" <span class="hilite3">end</span>="expression" step="expression"&gt; <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; body content <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt; <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt;标签具有以下一些属性： <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var：迭代参数的名称。在迭代体中可以使用的变量的名称，用来表示每一个迭代变量。类型为String。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items：要进行迭代的集合。对于它所支持的类型将在下面进行讲解。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; varStatus：迭代变量的名称，用来表示迭代的状态，可以访问到迭代自身的信息。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin：如果指定了items，那么迭代就从items[begin]开始进行迭代；如果没有指定items，那么就从begin开始迭代。它的类型为整数。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="hilite3">end</span>：如果指定了items，那么就在items[<span class="hilite3">end</span>]结束迭代；如果没有指定items，那么就在<span class="hilite3">end</span>结束迭代。它的类型也为整数。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; step：迭代的步长。 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt;标签的items属性支持Java平台所提供的所有标准集合类型。此外，您可以使用该操作来迭代数组（包括基本类型数组）中的元素。它所支持的集合类型以及迭代的元素如下所示： <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.util.Collection：调用iterator()来获得的元素。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.util.Map：通过java.util.Map.Entry所获得的实例。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.util.Iterator：迭代器元素。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; java.util.Enumeration：枚举元素。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object实例数组：数组元素。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 基本类型值数组：经过包装的数组元素。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用逗号定界的String：分割后的子字符串。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; javax.servlet.jsp.jstl.sql.Result：SQL查询所获得的行。 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不论是对整数还是对集合进行迭代，&lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt;的varStatus属性所起的作用相同。和var属性一样，varStatus用于创建限定了作用域的变量（改变量只在当前标签体内起作用）。不过，由varStatus属性命名的变量并不存储当前索引值或当前元素，而是赋予javax.servlet.jsp.jstl.core.LoopTagStatus类的实例。该类包含了一系列的特性，它们描述了迭代的当前状态，如下这些属性的含义如下所示： <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; current：当前这次迭代的（集合中的）项。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; index：当前这次迭代从0开始的迭代索引。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; count：当前这次迭代从1开始的迭代计数。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; first：用来表明当前这轮迭代是否为第一次迭代，该属性为boolean类型。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; last：用来表明当前这轮迭代是否为最后一次迭代，该属性为boolean类型。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin：begin属性的值。 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="hilite3">end</span>：<span class="hilite3">end</span>属性的值 <br />
<br />
l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; step：step属性的值 <br />
<br />
下面就来看两个基本的例子，第一个例子是依次输出集合内的元素。 <br />
<br />
&lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span> var="item" items="${contents}" varStatus="status"&gt; <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $status.count：${item} <br />
<br />
&lt;/<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt; <br />
<br />
下面的例子是一个固定次数的迭代，用来输出1到9的平方。 <br />
<br />
&lt;<span class="hilite1">c</span>:<span class="hilite2">forEach</span> var="x" begin="1" <span class="hilite3">end</span>="9" step="1"&gt; <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${x*x} <br />
<br />
&lt;/<span class="hilite1">c</span>:<span class="hilite2">forEach</span>&gt; <br />
<img src ="http://www.blogjava.net/caizh2009/aggbug/278999.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caizh2009/" target="_blank">小菜毛毛</a> 2009-05-30 12:18 <a href="http://www.blogjava.net/caizh2009/articles/278999.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core标签库</title><link>http://www.blogjava.net/caizh2009/articles/278998.html</link><dc:creator>小菜毛毛</dc:creator><author>小菜毛毛</author><pubDate>Sat, 30 May 2009 04:14:00 GMT</pubDate><guid>http://www.blogjava.net/caizh2009/articles/278998.html</guid><wfw:comment>http://www.blogjava.net/caizh2009/comments/278998.html</wfw:comment><comments>http://www.blogjava.net/caizh2009/articles/278998.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caizh2009/comments/commentRss/278998.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caizh2009/services/trackbacks/278998.html</trackback:ping><description><![CDATA[<h1>Core标签库</h1>
<div id="lemmaContent">　　Core标签库<br />
<div class="spctrl"></div>
　　1、 通用标签<br />
<div class="spctrl"></div>
　　&lt;c:out&gt;<br />
<div class="spctrl"></div>
　　&lt;c:out&gt;标签用于在JSP中显示数据，它有如下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　value 输出的信息，可以是EL表达式或常量 是 无 <br />
<div class="spctrl"></div>
　　default value为空时显示信息 否 无 <br />
<div class="spctrl"></div>
　　escapeXml 为true则避开特殊的xml字符集 否 true <br />
<div class="spctrl"></div>
　　例子: 您的用户名是: &lt;c:out value=&#8221;&#8221; default=&#8221;guest&#8221;/&gt; <br />
<div class="spctrl"></div>
　　显示用户的用户名，如为空则显示guest<br />
<div class="spctrl"></div>
　　&lt;c:out value=""/&gt; <br />
<div class="spctrl"></div>
　　指定从session中获取username的值显示；<br />
<div class="spctrl"></div>
　　&lt;c:out value="" /&gt; <br />
<div class="spctrl"></div>
　　显示username的值，默认是从request(page)中取，如果request中没有名为username的对象则从session中取， session中没有则从application(servletContext)中取，如果没有取到任何值则不显示。<br />
<div class="spctrl"></div>
　　&lt;c:set&gt;<br />
<div class="spctrl"></div>
　　&lt;c:set&gt;标签用于保存数据，它有如下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　value 要保存的信息，可以是EL表达式或常量 否 <br />
<div class="spctrl"></div>
　　target 需要修改属性的变量名，一般为javabean的实例 否 无 <br />
<div class="spctrl"></div>
　　property 需要修改的javabean属性 否 无 <br />
<div class="spctrl"></div>
　　var 需要保存信息的变量 否 无 <br />
<div class="spctrl"></div>
　　scope 保存信息的变量的范围 否 page <br />
<div class="spctrl"></div>
　　如果指定了target属性, 那么property属性也必须指定。<br />
<div class="spctrl"></div>
　　例子： &lt;c:set value="" var="test2" scope=&#8221;session&#8221; /&gt; <br />
<div class="spctrl"></div>
　　将test.testinfo的值保存到session的test2中，其中test是一个javabean的实例，testinfo是test对象的属性。<br />
<div class="spctrl"></div>
　　&lt;c:set target="" property="city" value=""/&gt; <br />
<div class="spctrl"></div>
　　将对象cust.address的city属性值保存到变量city中<br />
<div class="spctrl"></div>
　　&lt;c:remove&gt;<br />
<div class="spctrl"></div>
　　&lt;c:remove&gt;标签用于删除数据，它有如下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　var 要删除的变量 是 无 <br />
<div class="spctrl"></div>
　　scope 被删除变量的范围 否 所有范围，包括page、request、session、application等 <br />
<div class="spctrl"></div>
　　例子: &lt;c:remove var="test2" scope="session"/&gt; <br />
<div class="spctrl"></div>
　　从session中删除test2变量。<br />
<div class="spctrl"></div>
　　2、 流控制标签<br />
<div class="spctrl"></div>
　　&lt;c:if&gt;<br />
<div class="spctrl"></div>
　　&lt;c:if&gt;标签有如下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　test 需要评价的条件，相当于if (...){}语句中的条件 是 无 <br />
<div class="spctrl"></div>
　　var 要求保存条件结果的变量名 否 无 <br />
<div class="spctrl"></div>
　　scope 保存条件结果的变量范围 否 page <br />
<div class="spctrl"></div>
　　&lt;c:choose&gt;<br />
<div class="spctrl"></div>
　　这个标签不接受任何属性<br />
<div class="spctrl"></div>
　　&lt;c:when&gt;<br />
<div class="spctrl"></div>
　　&lt;c:when&gt;标签有以下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　test 需要评价的条件 是 无 <br />
<div class="spctrl"></div>
　　&lt;c:otherwise&gt;<br />
<div class="spctrl"></div>
　　这个标签同样不接受任何属性<br />
<div class="spctrl"></div>
　　例子： &lt;c:if test=""&gt;<br />
<div class="spctrl"></div>
　　user.wealthy is true.<br />
<div class="spctrl"></div>
　　&lt;/c:if&gt; <br />
<div class="spctrl"></div>
　　如果user.wealthy值true，则显示user.wealthy is true.<br />
<div class="spctrl"></div>
　　&lt;c:choose&gt;<br />
<div class="spctrl"></div>
　　&lt;c:when test=""&gt;<br />
<div class="spctrl"></div>
　　user.generous　is true.<br />
<div class="spctrl"></div>
　　&lt;/c:when&gt; <br />
<div class="spctrl"></div>
　　&lt;c:when test=""&gt;<br />
<div class="spctrl"></div>
　　user.stingy is true.<br />
<div class="spctrl"></div>
　　&lt;/c:when&gt;<br />
<div class="spctrl"></div>
　　&lt;c:otherwise&gt;<br />
<div class="spctrl"></div>
　　user.generous and user.stingy are false.<br />
<div class="spctrl"></div>
　　&lt;/c:otherwise&gt;<br />
<div class="spctrl"></div>
　　&lt;/c:choose&gt; <br />
<div class="spctrl"></div>
　　只有当条件user.generous返回值是true时，才显示user.generous　is true.<br />
<div class="spctrl"></div>
　　只有当条件user.stingy返回值是true时，才显示user.stingy　is true.<br />
<div class="spctrl"></div>
　　其它所有的情况（即user.generous和user.stingy的值都不为true）全部显示user.generous and user.stingy are false.<br />
<div class="spctrl"></div>
　　由于JSTL没有形如if (){&#8230;} else {&#8230;}的条件语句，所以这种形式的语句只能用&lt;c:choose&gt;、&lt;c:when&gt;和&lt;c:otherwise&gt;标签共同来完成了。<br />
<div class="spctrl"></div>
　　3、 循环控制标签<br />
<div class="spctrl"></div>
　　&lt;c:forEach&gt;<br />
<div class="spctrl"></div>
　　&lt;c:forEach&gt;标签用于通用数据，它有以下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　items 进行循环的项目 否 无 <br />
<div class="spctrl"></div>
　　begin 开始条件 否 0 <br />
<div class="spctrl"></div>
　　end 结束条件 否 集合中的最后一个项目 <br />
<div class="spctrl"></div>
　　step 步长 否 1 <br />
<div class="spctrl"></div>
　　var 代表当前项目的变量名 否 无 <br />
<div class="spctrl"></div>
　　varStatus 显示循环状态的变量 否 无 <br />
<div class="spctrl"></div>
　　例子： &lt;c:forEach items="" var="vector"&gt;<br />
<div class="spctrl"></div>
　　&lt;c:out value=""/&gt;<br />
<div class="spctrl"></div>
　　&lt;/c:forEach&gt; <br />
<div class="spctrl"></div>
　　相当于java语句 for (int i=0;i&lt;vectors.size();i++) {<br />
<div class="spctrl"></div>
　　out.println(vectors.get(i));<br />
<div class="spctrl"></div>
　　} <br />
<div class="spctrl"></div>
　　在这里vectors是一个java.util.Vector对象，里面存放的是String数据，vector是当前循环条件下String对象。实际上这里的vectors可以是任何实现了java.util. Collection接口的对象。 <br />
<div class="spctrl"></div>
　　&lt;c:forEach begin="0" end="100" var="i" step="1"&gt;<br />
<div class="spctrl"></div>
　　count=&lt;c:out value=""/&gt;&lt;br&gt;<br />
<div class="spctrl"></div>
　　&lt;/c:forEach&gt;<br />
<div class="spctrl"></div>
　　输出:<br />
<div class="spctrl"></div>
　　count=0<br />
<div class="spctrl"></div>
　　...<br />
<div class="spctrl"></div>
　　count=100<br />
<div class="spctrl"></div>
　　&lt;c:forTokens&gt;<br />
<div class="spctrl"></div>
　　&lt;c:forTokens&gt;标签有以下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　items 进行循环的项目 是 无 <br />
<div class="spctrl"></div>
　　delims 分割符 是 无 <br />
<div class="spctrl"></div>
　　begin 开始条件 否 0 <br />
<div class="spctrl"></div>
　　end 结束条件 否 集合中的最后一个项目 <br />
<div class="spctrl"></div>
　　step 步长 否 1 <br />
<div class="spctrl"></div>
　　var 代表当前项目的变量名 否 无 <br />
<div class="spctrl"></div>
　　varStatus 显示循环状态的变量 否 无 <br />
<div class="spctrl"></div>
　　例子 <br />
<div class="spctrl"></div>
　　&lt;c:forTokens items="a:b:c:d" delims=":" var="token"&gt;<br />
<div class="spctrl"></div>
　　&lt;c:out value=""/&gt;<br />
<div class="spctrl"></div>
　　&lt;/c:forTokens&gt;<br />
<div class="spctrl"></div>
　　这个标签的使用相当于java.util.StringTokenizer类。在这里将字符串a:b:c:d以：分开循环四次，token是循环到当前分割到的字符串。<br />
<div class="spctrl"></div>
　　4.导入文件和URL<br />
<div class="spctrl"></div>
　　JSTL核心标签库支持使用&lt;c:import&gt;来包含文件，使用&lt;c:url&gt;来打印和格式化URL,使用&lt;c:redirect&gt;来重定向URL。<br />
<div class="spctrl"></div>
　　&lt;c:import&gt;<br />
<div class="spctrl"></div>
　　&lt;c:import&gt;标签包含另外一个页面代码到当前页，它有以下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　url 需要导入页面的url 是 无 <br />
<div class="spctrl"></div>
　　context /后跟本地web应用程序的名字 否 当前应用程序 <br />
<div class="spctrl"></div>
　　charEncoding 用于导入数据的字符集 否 ISO-8859-1 <br />
<div class="spctrl"></div>
　　var 接受导入文本的变量名 否 page <br />
<div class="spctrl"></div>
　　scope 接受导入文本的变量的变量范围 否 1 <br />
<div class="spctrl"></div>
　　varReader 用于接受导入文本的java.io.Reader变量名 否 无 <br />
<div class="spctrl"></div>
　　varStatus 显示循环状态的变量 否 无 <br />
<div class="spctrl"></div>
　　&lt;c:url&gt;<br />
<div class="spctrl"></div>
　　&lt;c:url&gt;标签输出一个url地址，它有以下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　url url地址 是 无 <br />
<div class="spctrl"></div>
　　context /后跟本地web应用程序的名字 否 当前应用程序 <br />
<div class="spctrl"></div>
　　charEncoding 用于导入数据的字符集 否 ISO-8859-1 <br />
<div class="spctrl"></div>
　　var 接受处理过的url变量名，该变量存储url 否 输出到页 <br />
<div class="spctrl"></div>
　　scope 存储url的变量名的变量范围 否 page <br />
<div class="spctrl"></div>
　　例子： <br />
<div class="spctrl"></div>
　　&lt;c:import url="http://www.url.com/edit.js" var="newsfeed"/&gt;<br />
<div class="spctrl"></div>
　　将url http://www.url.com/edit.js包含到当前页的当前位置，并将url保存到newsfeed变量中 <br />
<div class="spctrl"></div>
　　&lt;a href="&lt;c:url url="/index.jsp"/&gt;"/&gt;<br />
<div class="spctrl"></div>
　　在当前页的当前位置输出&lt;a href="http://www.yourname.com/index.jsp"/&gt;，http://www.yourname.com是当前页的所在的位置。<br />
<div class="spctrl"></div>
　　&lt;c:redirect&gt;<br />
<div class="spctrl"></div>
　　&lt;c:redirect&gt;标签将请求重新定向到另外一个页面，它有以下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　url url地址 是 无 <br />
<div class="spctrl"></div>
　　context /后跟本地web应用程序的名字 否 当前应用程序 <br />
<div class="spctrl"></div>
　　例子： <br />
<div class="spctrl"></div>
　　&lt;c:redirect url="http://www.yourname.com/login.jsp"/&gt;<br />
<div class="spctrl"></div>
　　将请求重新定向到http://www.yourname.com/login.jsp页，相当于response.setRedirect("http://www.yourname.com/login.jsp");<br />
<div class="spctrl"></div>
　　&lt;c:param&gt;<br />
<div class="spctrl"></div>
　　&lt;c:param&gt;标签用来传递参数给一个重定向或包含页面，它有以下属性 属 性 描 述 是否必须 缺省值 <br />
<div class="spctrl"></div>
　　name 在request参数中设置的变量名 是 无 <br />
<div class="spctrl"></div>
　　value 在request参数中设置的变量值 否 无 <br />
<div class="spctrl"></div>
　　例子： <br />
<div class="spctrl"></div>
　　&lt;c:redirect url="login.jsp"&gt;<br />
<div class="spctrl"></div>
　　&lt;c:param name="id" value="888"/&gt;<br />
<div class="spctrl"></div>
　　&lt;/c:redirect&gt;<br />
<div class="spctrl"></div>
　　将参数888以id为名字传递到login.jsp页面，相当于login.jsp?id=888　　</div>
<img src ="http://www.blogjava.net/caizh2009/aggbug/278998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caizh2009/" target="_blank">小菜毛毛</a> 2009-05-30 12:14 <a href="http://www.blogjava.net/caizh2009/articles/278998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>