﻿<?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-fish的Blog-文章分类-Jsp</title><link>http://www.blogjava.net/yjj317/category/12003.html</link><description>在浮躁的年代里，我们进取心太切，患得患失；虚荣心太强，战战兢兢。一心争强好胜，惟恐榜上无名。</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 00:00:58 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 00:00:58 GMT</pubDate><ttl>60</ttl><item><title>使用SessionListener统计在线人数 </title><link>http://www.blogjava.net/yjj317/articles/78199.html</link><dc:creator>fish的Blog</dc:creator><author>fish的Blog</author><pubDate>Tue, 31 Oct 2006 00:34:00 GMT</pubDate><guid>http://www.blogjava.net/yjj317/articles/78199.html</guid><wfw:comment>http://www.blogjava.net/yjj317/comments/78199.html</wfw:comment><comments>http://www.blogjava.net/yjj317/articles/78199.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjj317/comments/commentRss/78199.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjj317/services/trackbacks/78199.html</trackback:ping><description><![CDATA[编辑监听类:<br />  <span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.servlet.http.HttpSessionListener;<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.servlet.http.HttpSessionEvent;<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.apache.log4j.Logger;<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> SessionListener </span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000"> HttpSessionListener </span><span id="_207_645_Open_Text"><span style="COLOR: #000000">{<br />  </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> Logger logger</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Logger.getLogger(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.getClass());<br />  </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> count</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br /><br /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">synchronized</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> sessionCreated(HttpSessionEvent se) </span><span id="_356_466_Open_Text"><span style="COLOR: #000000">{<br />       </span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.count</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.count</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br />       se.getSession().getServletContext().setAttribute(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">count</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.count</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">);<br />  }<br /></span></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">synchronized</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> sessionDestroyed(HttpSessionEvent se) </span><span id="_533_643_Open_Text"><span style="COLOR: #000000">{<br /></span><span style="COLOR: #0000ff">      this</span><span style="COLOR: #000000">.count</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.count</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br />      se.getSession().getServletContext().setAttribute(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">count</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.count</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">);<br />  }</span></span><span style="COLOR: #000000"><br />}<br /><br />注册监听到web.xml:<br /><br /><div><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">web</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">app</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />...<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">listener</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">listener</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">com.link2friend.friend.sessionlistener.SessionListener</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">listener</span><span style="COLOR: #000000">-</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">listener</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />...<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">web</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">app</span><span style="COLOR: #000000">&gt;</span></div><br />网页上使用:<br /><br />&lt;%=application.getAttribute("count")%&gt;<br /></span></span><img src ="http://www.blogjava.net/yjj317/aggbug/78199.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjj317/" target="_blank">fish的Blog</a> 2006-10-31 08:34 <a href="http://www.blogjava.net/yjj317/articles/78199.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSTL介绍(转载)</title><link>http://www.blogjava.net/yjj317/articles/51926.html</link><dc:creator>fish的Blog</dc:creator><author>fish的Blog</author><pubDate>Sun, 11 Jun 2006 01:41:00 GMT</pubDate><guid>http://www.blogjava.net/yjj317/articles/51926.html</guid><wfw:comment>http://www.blogjava.net/yjj317/comments/51926.html</wfw:comment><comments>http://www.blogjava.net/yjj317/articles/51926.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjj317/comments/commentRss/51926.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjj317/services/trackbacks/51926.html</trackback:ping><description><![CDATA[
		<strong>前言<br /><br /></strong>从JSP　1.1规范开始，JSP就支持在JSP中使用自定义标签了，自定义标签的广泛使用造成了程序员重复定义，这样就促成了JSTL（JavaServer Pages Standard Tag Library）的诞生。<br />因为工作中需要用到JSTL，但网上却苦于找不到有关JSTL的中文资料，所以就有了这篇文章。<br /><br /><b>JSTL简介</b><br /><br />JSTL是一个不断完善的开放源代码的JSP标签库，是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上，如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。<br />JSTL目前的最新版本为1.02，最终发布版为1.0。JSTL包含两个部分：标签库和EL（Expression Language表达式语言）语言。标签库目前支持四种标签： 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">标签</td><td class="ubb">URI</td><td class="ubb">前缀</td><td class="ubb">示例</td></tr><tr><td class="ubb">Core</td><td class="ubb">http://java.sun.com/jstl/core</td><td class="ubb">c</td><td class="ubb">&lt;c:tagname ...&gt;</td></tr><tr><td class="ubb">XML processing</td><td class="ubb">http://java.sun.com/jstl/xml</td><td class="ubb">x</td><td class="ubb">&lt;x:tagname ...&gt;</td></tr><tr><td class="ubb">I18N capable formatting</td><td class="ubb">http://java.sun.com/jstl/fmt</td><td class="ubb">fmt</td><td class="ubb">&lt;fmt:tagname ...&gt;</td></tr><tr><td class="ubb">Database access (SQL)</td><td class="ubb">http://java.sun.com/jstl/sql</td><td class="ubb">sql</td><td class="ubb">&lt;sql:tagname ...&gt;</td></tr></tbody></table><br /><br />Core支持JSP中的一些基本的操作；<br />XML processing支持XML文档的处理；<br />I18N capable formatting支持对JSP页面的国际化；<br />Database access (SQL)支持JSP对数据库的操作。<br /><br />由于本人水平有限，本文仅介绍Core标签，如有兴趣，可一起探讨其它三种标签的使用与扩充。<br /><br /><b>EL语言介绍</b><br /><br />EL语言是JSTL输出（输入）一个JAVA表达式的表示形式。<br />在JSTL中，EL语言只能在属性值中使用。EL语言只能通过建立表达式${exp1}来进行调用。在属性值中使用表达式有三种方式。<br /><br />1、 value属性包含一个表达式<br />&lt;some:tag value="${expr}"/&gt;<br />在这种情况下，表达式值被计算出来并根据类型转换规则赋值给value属性。比如：&lt;c:out value="${username}" /&gt;中的${username}就是一个EL，它相当于JSP语句&lt;%=request.getAttribute(“username”)%&gt;或&lt;%=session.getAttribute(“username”)%&gt;<br /><br />2、 value属性包含一个或多个属性，这些属性被文本分割或围绕<br />&lt;some:tag value="some${expr}${expr}text${expr}"/&gt;<br />在这种情况下，表达式从左到右进行计算，并将结果转换为字符串型（根据类型转换规则），并将结果赋值给value属性<br /><br />3、 value属性仅仅包含文本<br />&lt;some:tag value="sometext"/&gt;<br />在这种情况下，字符串型属性value将根据类型转换规则转换为标签所希望的类型。<br /><br /><b>EL语言的操作符</b><br />取得某个对象或集合中的属性值<br />为了获得集合中的属性，EL支持以下两种操作<br />1． 使用.操作符来获得有名字的属性。例如表达式${user.username}表明对象user的username属性<br />2． 使用[]操作符来获得有名字或按数字排列的属性。<br />表达式${user["username"]}和表达式${user. username }含义相同<br />表达式${row[0]} 表明row集合的第一个条目。<br />在这里user是一个类的对象，它的属性username必须符合标准JavaBean的规范，即必须为username属性定义相应的getter、setter方法。<br /><br />Empty操作符(空值检查)<br /><br />使用empty操作符来决定对象、集合或字符串变量是否为空或null。例如：<br />${empty param.username}<br />如果request的参数列表中的username值为null，则表达式的值为true。 EL也可以直接使用比较操作符与null进行比较。如${param.firstname == null}。<br />比较操作符 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">操作符</td><td class="ubb">描述</td></tr><tr><td class="ubb">==或eq</td><td class="ubb">相等检查</td></tr><tr><td class="ubb">!=或ne</td><td class="ubb">不等检查</td></tr><tr><td class="ubb">&lt;或lt</td><td class="ubb">小于检查</td></tr><tr><td class="ubb">&gt;或gt</td><td class="ubb">大于检查</td></tr><tr><td class="ubb">&lt;=或le</td><td class="ubb">小于等于检查</td></tr><tr><td class="ubb">&gt;=或ge</td><td class="ubb">大于等于检查</td></tr></tbody></table><br />数字运算符与逻辑运算符均与JAVA语言相同，不再列表。<br /><br /><b>Core标签库</b><br /><br /><b>1、 通用标签</b><br /><br /><b>&lt;c:out&gt;</b><br />&lt;c:out&gt;标签用于在JSP中显示数据，它有如下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">value</td><td class="ubb">输出的信息，可以是EL表达式或常量</td><td class="ubb">是</td><td class="ubb">无</td></tr><tr><td class="ubb">default </td><td class="ubb">value为空时显示信息</td><td class="ubb">否</td><td class="ubb">无</td></tr><tr><td class="ubb">escapeXml</td><td class="ubb">为true则避开特殊的xml字符集</td><td class="ubb">否</td><td class="ubb">true</td></tr></tbody></table><br /><br /><br />例子: 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">您的用户名是: &lt;c:out value=”${user.username}” default=”guest”/&gt;</td></tr></tbody></table><br />显示用户的用户名，如为空则显示guest<br /><table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">&lt;c:out value="${sessionScope.username}"/&gt;</td></tr></tbody></table><br />指定从session中获取username的值显示；<br /><table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">&lt;c:out value="${username}" /&gt;</td></tr></tbody></table><br />显示username的值，默认是从request(page)中取，如果request中没有名为username的对象则从session中取，session中没有则从application(servletContext)中取，如果没有取到任何值则不显示。<br /><br /><b>&lt;c:set&gt;</b><br />&lt;c:set&gt;标签用于保存数据，它有如下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">value</td><td class="ubb">要保存的信息，可以是EL表达式或常量</td><td class="ubb">否</td><td class="ubb"></td></tr><tr><td class="ubb">target</td><td class="ubb">需要修改属性的变量名，一般为javabean的实例</td><td class="ubb">否</td><td class="ubb">无</td></tr><tr><td class="ubb">property</td><td class="ubb">需要修改的javabean属性</td><td class="ubb">否</td><td class="ubb">无</td></tr><tr><td class="ubb">var</td><td class="ubb">需要保存信息的变量</td><td class="ubb">否</td><td class="ubb">无</td></tr><tr><td class="ubb">scope</td><td class="ubb">保存信息的变量的范围</td><td class="ubb">否</td><td class="ubb">page</td></tr></tbody></table><br />如果指定了target属性, 那么property属性也必须指定。<br />例子： 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">&lt;c:set value="${test.testinfo}" var="test2" scope=”session” /&gt;</td></tr></tbody></table><br />将test.testinfo的值保存到session的test2中，其中test是一个javabean的实例，testinfo是test对象的属性。<br /><table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">&lt;c:set target="${cust.address}" property="city" value="${city}"/&gt;</td></tr></tbody></table><br />将对象cust.address的city属性值保存到变量city中<br /><br /><b>&lt;c:remove&gt;</b><br />&lt;c:remove&gt;标签用于删除数据，它有如下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">var</td><td class="ubb">要删除的变量</td><td class="ubb">是</td><td class="ubb">无</td></tr><tr><td class="ubb">scope</td><td class="ubb">被删除变量的范围</td><td class="ubb">否</td><td class="ubb">所有范围，包括page、request、session、application等</td></tr></tbody></table><br />例子: 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">&lt;c:remove var="test2" scope="session"/&gt;</td></tr></tbody></table><br />从session中删除test2变量。<br /><br /><b>2、 流控制标签</b><br /><br /><b>&lt;c:if&gt;</b><br /><br />&lt;c:if&gt;标签有如下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">test</td><td class="ubb">需要评价的条件，相当于if (...){}语句中的条件</td><td class="ubb">是</td><td class="ubb">无</td></tr><tr><td class="ubb">var</td><td class="ubb">要求保存条件结果的变量名</td><td class="ubb">否</td><td class="ubb">无</td></tr><tr><td class="ubb">scope</td><td class="ubb">保存条件结果的变量范围</td><td class="ubb">否</td><td class="ubb">page</td></tr></tbody></table><br /><br /><b>&lt;c:choose&gt;</b><br />这个标签不接受任何属性<br /><br /><b>&lt;c:when&gt;</b><br />&lt;c:when&gt;标签有以下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">test</td><td class="ubb">需要评价的条件</td><td class="ubb">是</td><td class="ubb">无</td></tr></tbody></table><br /><br /><b>&lt;c:otherwise&gt;</b><br />这个标签同样不接受任何属性<br /><br />例子： 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">&lt;c:if test="${user.wealthy}"&gt;<br />user.wealthy is true.<br />&lt;/c:if&gt;</td></tr></tbody></table><br />如果user.wealthy值true，则显示user.wealthy is true.<br /><br /><table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">&lt;c:choose&gt;<br />&lt;c:when test="${user.generous}"&gt;<br />user.generous　is true.<br />&lt;/c:when&gt; <br />&lt;c:when test="${user.stingy}"&gt;<br />user.stingy is true.<br />&lt;/c:when&gt;<br />&lt;c:otherwise&gt;<br />user.generous and user.stingy are false.<br />&lt;/c:otherwise&gt;<br />&lt;/c:choose&gt;</td></tr></tbody></table><br />只有当条件user.generous返回值是true时，才显示user.generous　is true.<br />只有当条件user.stingy返回值是true时，才显示user.stingy　is true.<br />其它所有的情况（即user.generous和user.stingy的值都不为true）全部显示user.generous and user.stingy are false.<br /><br />由于JSTL没有形如if (){…} else {…}的条件语句，所以这种形式的语句只能用&lt;c:choose&gt;、&lt;c:when&gt;和&lt;c:otherwise&gt;标签共同来完成了。<br /><br /><b>3、 循环控制标签</b><br /><br /><b>&lt;c:forEach&gt;</b><br />&lt;c:forEach&gt;标签用于通用数据，它有以下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">items</td><td class="ubb">进行循环的项目</td><td class="ubb">否</td><td class="ubb">无</td></tr><tr><td class="ubb">begin</td><td class="ubb">开始条件</td><td class="ubb">否</td><td class="ubb">0</td></tr><tr><td class="ubb">end</td><td class="ubb">结束条件</td><td class="ubb">否</td><td class="ubb">集合中的最后一个项目</td></tr><tr><td class="ubb">step</td><td class="ubb">步长</td><td class="ubb">否</td><td class="ubb">1</td></tr><tr><td class="ubb">var</td><td class="ubb">代表当前项目的变量名</td><td class="ubb">否</td><td class="ubb">无</td></tr><tr><td class="ubb">varStatus</td><td class="ubb">显示循环状态的变量</td><td class="ubb">否</td><td class="ubb">无</td></tr></tbody></table><br /><br />例子： 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">&lt;c:forEach items="${vectors}" var="vector"&gt;<br />&lt;c:out value="${vector}"/&gt;<br />&lt;/c:forEach&gt;</td></tr></tbody></table><br />相当于java语句 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">for (int i=0;i&lt;vectors.size();i++) {<br />out.println(vectors.get(i));<br />}</td></tr></tbody></table><br />在这里vectors是一个java.util.Vector对象，里面存放的是String数据，vector是当前循环条件下String对象。实际上这里的vectors可以是任何实现了java.util. Collection接口的对象。 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb"><br />&lt;c:forEach begin="0" end="100" var="i" step="1"&gt;<br />count=&lt;c:out value="${i}"/&gt;&lt;br&gt;<br />&lt;/c:forEach&gt;<br /></td></tr></tbody></table><br />输出:<br />count=0<br />...<br />count=100<br /><br /><b>&lt;c:forTokens&gt;</b><br />&lt;c:forTokens&gt;标签有以下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">items</td><td class="ubb">进行循环的项目</td><td class="ubb">是</td><td class="ubb">无</td></tr><tr><td class="ubb">delims</td><td class="ubb">分割符</td><td class="ubb">是</td><td class="ubb">无</td></tr><tr><td class="ubb">begin</td><td class="ubb">开始条件</td><td class="ubb">否</td><td class="ubb">0</td></tr><tr><td class="ubb">end</td><td class="ubb">结束条件</td><td class="ubb">否</td><td class="ubb">集合中的最后一个项目</td></tr><tr><td class="ubb">step</td><td class="ubb">步长</td><td class="ubb">否</td><td class="ubb">1</td></tr><tr><td class="ubb">var</td><td class="ubb">代表当前项目的变量名</td><td class="ubb">否</td><td class="ubb">无</td></tr><tr><td class="ubb">varStatus</td><td class="ubb">显示循环状态的变量</td><td class="ubb">否</td><td class="ubb">无</td></tr></tbody></table><br /><br />例子 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb"><br />&lt;c:forTokens items="a:b:c:d" delims=":" var="token"&gt;<br />&lt;c:out value="${token}"/&gt;<br />&lt;/c:forTokens&gt;<br /></td></tr></tbody></table><br />这个标签的使用相当于java.util.StringTokenizer类。在这里将字符串a:b:c:d以：分开循环四次，token是循环到当前分割到的字符串。<br /><br /><b>4.导入文件和URL</b><br /><br />JSTL核心标签库支持使用&lt;c:import&gt;来包含文件，使用&lt;c:url&gt;来打印和格式化URL,使用&lt;c:redirect&gt;来重定向URL。<br /><br /><b>&lt;c:import&gt;</b><br />&lt;c:import&gt;标签包含另外一个页面代码到当前页，它有以下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">url</td><td class="ubb">需要导入页面的url</td><td class="ubb">是</td><td class="ubb">无</td></tr><tr><td class="ubb">context</td><td class="ubb">/后跟本地web应用程序的名字</td><td class="ubb">否</td><td class="ubb">当前应用程序</td></tr><tr><td class="ubb">charEncoding</td><td class="ubb">用于导入数据的字符集</td><td class="ubb">否</td><td class="ubb">ISO-8859-1</td></tr><tr><td class="ubb">var</td><td class="ubb">接受导入文本的变量名</td><td class="ubb">否</td><td class="ubb">page</td></tr><tr><td class="ubb">scope</td><td class="ubb">接受导入文本的变量的变量范围</td><td class="ubb">否</td><td class="ubb">1</td></tr><tr><td class="ubb">varReader</td><td class="ubb">用于接受导入文本的java.io.Reader变量名</td><td class="ubb">否</td><td class="ubb">无</td></tr><tr><td class="ubb">varStatus</td><td class="ubb">显示循环状态的变量</td><td class="ubb">否</td><td class="ubb">无</td></tr></tbody></table><br /><br /><b>&lt;c:url&gt;</b><br />&lt;c:url&gt;标签输出一个url地址，它有以下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">url</td><td class="ubb">url地址</td><td class="ubb">是</td><td class="ubb">无</td></tr><tr><td class="ubb">context</td><td class="ubb">/后跟本地web应用程序的名字</td><td class="ubb">否</td><td class="ubb">当前应用程序</td></tr><tr><td class="ubb">charEncoding</td><td class="ubb">用于导入数据的字符集</td><td class="ubb">否</td><td class="ubb">ISO-8859-1</td></tr><tr><td class="ubb">var</td><td class="ubb">接受处理过的url变量名，该变量存储url</td><td class="ubb">否</td><td class="ubb">输出到页</td></tr><tr><td class="ubb">scope</td><td class="ubb">存储url的变量名的变量范围</td><td class="ubb">否</td><td class="ubb">page</td></tr></tbody></table><br /><br />例子： 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb"><br />&lt;c:import url="http://www.url.com/edit.js" var="newsfeed"/&gt;<br /></td></tr></tbody></table><br />将url http://www.url.com/edit.js包含到当前页的当前位置，并将url保存到newsfeed变量中 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb"><br />&lt;a href="&lt;c:url url="/index.jsp"/&gt;"/&gt;<br /></td></tr></tbody></table><br />在当前页的当前位置输出&lt;a href="http://www.yourname.com/index.jsp"/&gt;，http://www.yourname.com是当前页的所在的位置。<br /><br /><br /><b>&lt;c:redirect&gt;</b><br />&lt;c:redirect&gt;标签将请求重新定向到另外一个页面，它有以下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">url</td><td class="ubb">url地址</td><td class="ubb">是</td><td class="ubb">无</td></tr><tr><td class="ubb">context</td><td class="ubb">/后跟本地web应用程序的名字</td><td class="ubb">否</td><td class="ubb">当前应用程序</td></tr></tbody></table><br />例子： 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb"><br />&lt;c:redirect url="http://www.yourname.com/login.jsp"/&gt;<br /></td></tr></tbody></table><br />将请求重新定向到http://www.yourname.com/login.jsp页，相当于response.setRedirect("http://www.yourname.com/login.jsp");<br /><br /><b>&lt;c:param&gt;</b><br />&lt;c:param&gt;标签用来传递参数给一个重定向或包含页面，它有以下属性 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb">属 性</td><td class="ubb">描 述</td><td class="ubb">是否必须</td><td class="ubb">缺省值</td></tr><tr><td class="ubb">name</td><td class="ubb">在request参数中设置的变量名</td><td class="ubb">是</td><td class="ubb">无</td></tr><tr><td class="ubb">value</td><td class="ubb">在request参数中设置的变量值</td><td class="ubb">否</td><td class="ubb">无</td></tr></tbody></table><br />例子： 
<table class="ubb" cellspacing="0"><tbody><tr><td class="ubb"><br />&lt;c:redirect url="login.jsp"&gt;<br />&lt;c:param name="id" value="888"/&gt;<br />&lt;/c:redirect&gt;<br /></td></tr></tbody></table><br />将参数888以id为名字传递到login.jsp页面，相当于login.jsp?id=888<br /><br /><br /><b>JSTL的优点</b><br />1、 在应用程序服务器之间提供了一致的接口，最大程序地提高了WEB应用在各应用服务器之间的移植。<br />2、 简化了JSP和WEB应用程序的开发。<br />3、 以一种统一的方式减少了JSP中的scriptlet代码数量，可以达到没有任何scriptlet代码的程序。在我们公司的项目中是不允许有任何的scriptlet代码出现在JSP中。<br />4、 允许JSP设计工具与WEB应用程序开发的进一步集成。相信不久就会有支持JSTL的IDE开发工具出现。<img src ="http://www.blogjava.net/yjj317/aggbug/51926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjj317/" target="_blank">fish的Blog</a> 2006-06-11 09:41 <a href="http://www.blogjava.net/yjj317/articles/51926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Tomcat中安装JSTL(转载)</title><link>http://www.blogjava.net/yjj317/articles/51925.html</link><dc:creator>fish的Blog</dc:creator><author>fish的Blog</author><pubDate>Sun, 11 Jun 2006 01:34:00 GMT</pubDate><guid>http://www.blogjava.net/yjj317/articles/51925.html</guid><wfw:comment>http://www.blogjava.net/yjj317/comments/51925.html</wfw:comment><comments>http://www.blogjava.net/yjj317/articles/51925.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjj317/comments/commentRss/51925.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjj317/services/trackbacks/51925.html</trackback:ping><description><![CDATA[
		<strong>1.准备jstl<br /></strong>   到<a href="http://www.apache.org/dist/jakarta/taglibs/standard-1.0/">http://www.apache.org/dist/jakarta/taglibs/standard-1.0/</a>下载<a href="http://www.apache.org/dist/jakarta/taglibs/standard-1.0/jakarta-taglibs-standard-current.zip">jakarta-taglibs-standard-current.zip</a>   <br />解压后成为jakarta-taglibs-standard-1.0.6 
<p><strong>2.准备web开发目录<br /></strong>   比如我的web目录为h:\webapp\myweb\(当然可以把你的web应用放在%tomcat_home%\webapps\)，称为工作目录Working folder,在工作目录h:\webapp\myweb\下建立WEB-INF\lib,WEB-INF\classes</p><p><strong>3.拷贝.jar文件<br /></strong>   将jakarta-taglibs-standard-1.1.1\lib\下的两个jar文件：standard.jar和jstl.jar文件拷贝到\WEB-INF\lib\下</p><p><strong>4.拷贝.tld文件<br /></strong> 将jakarta-taglibs-standard-1.1.1\tld\下的8个tld类型文件拷到"Working folder\WEB-INF\"下</p><p><strong>5.在\WEB-INF\下建立web.xml文件：<br /></strong> <font color="#000080"> &lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</font></p><p><font color="#000080">&lt;web-app xmlns="</font><a href="http://java.sun.com/xml/ns/j2ee"><font color="#000080">http://java.sun.com/xml/ns/j2ee</font></a><font color="#000080">"<br />    xmlns:xsi="</font><a href="http://www.w3.org/2001/XMLSchema-instance"><font color="#000080">http://www.w3.org/2001/XMLSchema-instance</font></a><font color="#000080">"<br />    xsi:schemaLocation="</font><a href="http://java.sun.com/xml/ns/j2ee"><font color="#000080">http://java.sun.com/xml/ns/j2ee</font></a><font color="#000080"></font><a href="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><font color="#000080">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd</font></a><font color="#000080">"<br />    version="2.4"&gt;<br /> <br />  &lt;taglib&gt;<br />    &lt;taglib-uri&gt;http://java.sun.com/jstl/fmt&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/fmt.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;</font></p><p><font color="#000080">&lt;taglib&gt;<br />    &lt;taglib-uri&gt;http://java.sun.com/jstl/fmt-rt&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/fmt-rt.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;</font></p><p><font color="#000080">&lt;taglib&gt;<br />    &lt;taglib-uri&gt;http://java.sun.com/jstl/core&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/c.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;</font></p><p><font color="#000080">&lt;taglib&gt;<br />    &lt;taglib-uri&gt;http://java.sun.com/jstl/core-rt&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/c-rt.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;</font></p><p><font color="#000080">&lt;taglib&gt;<br />    &lt;taglib-uri&gt;http://java.sun.com/jstl/sql&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/sql.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;</font></p><p><font color="#000080">&lt;taglib&gt;<br />    &lt;taglib-uri&gt;http://java.sun.com/jstl/sql-rt&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/sql-rt.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;</font></p><p><font color="#000080">&lt;taglib&gt;<br />    &lt;taglib-uri&gt;http://java.sun.com/jstl/x&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/x.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;</font></p><p><font color="#000080">&lt;taglib&gt;<br />    &lt;taglib-uri&gt;http://java.sun.com/jstl/x-rt&lt;/taglib-uri&gt;<br />    &lt;taglib-location&gt;/WEB-INF/x-rt.tld&lt;/taglib-location&gt;<br />&lt;/taglib&gt;</font><br /><font color="#000080">&lt;/web-app&gt;<br /></font><strong>6.建立一个名为test.jsp文件</strong><br /><font color="#000080">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;<br />&lt;%@ page contentType="text/html;charset=GB2312" %&gt;<br />&lt;%@ taglib prefix="c" uri="</font><a href="http://java.sun.com/jstl/core&quot;%"><font color="#000080">http://java.sun.com/jstl/core"%</font></a><font color="#000080">&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;测试你的第一个使用到JSTL 的网页&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;c:out value="欢迎测试你的第一个使用到JSTL 的网页"/&gt;<br />&lt;/br&gt;你使用的浏览器是：&lt;/br&gt;<br />&lt;c:out value="${header['User-Agent']}"/&gt;<br />&lt;c:set var="a" value="David O'Davies" /&gt;<br />&lt;c:out value="David O'Davies" escapeXml="true"/&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</font></p><p><strong>7.开启tomcat,进行调试，输出结果是</strong></p><p><font color="#000080">欢迎测试你的第一个使用到JSTL 的网页 <br />你使用的浏览器是：<br />Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) David O'Davies</font><br /><br />注：如果你的tld文件个数为15个，在上面的web.xml中<font color="#000080">&lt;taglib-location&gt;中更改。<br /></font><br />你的页面应该会包含如下代码：<br />&lt;%@ taglib uri="<a href="http://java.sun.com/jsp/jstl/core">http://java.sun.com/jsp/jstl/core</a>" prefix="c" %&gt;<br />&lt;%@ taglib uri="<a href="http://java.sun.com/jsp/jstl/fmt">http://java.sun.com/jsp/jstl/fmt</a>" prefix="fmt" %&gt;<br />&lt;%@ taglib uri="<a href="http://java.sun.com/jsp/jstl/sql">http://java.sun.com/jsp/jstl/sql</a>" prefix="sql" %&gt;<br />这是最新版的jstl 1.1路径，而如果你使用的是旧版1.0的则需要把路径中的jsp去掉，如下：<br />&lt;%@ taglib uri="<a href="http://java.sun.com/jstl/core">http://java.sun.com/jstl/core</a>" prefix="c" %&gt;<br />&lt;%@ taglib uri="<a href="http://java.sun.com/jstl/fmt">http://java.sun.com/jstl/fmt</a>" prefix="fmt" %&gt;<br />&lt;%@ taglib uri="<a href="http://java.sun.com/jstl/sql">http://java.sun.com/jstl/sql</a>" prefix="sql" %&gt;<br /></p><img src ="http://www.blogjava.net/yjj317/aggbug/51925.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjj317/" target="_blank">fish的Blog</a> 2006-06-11 09:34 <a href="http://www.blogjava.net/yjj317/articles/51925.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何使用Java I/O流读写文件</title><link>http://www.blogjava.net/yjj317/articles/51347.html</link><dc:creator>fish的Blog</dc:creator><author>fish的Blog</author><pubDate>Thu, 08 Jun 2006 06:32:00 GMT</pubDate><guid>http://www.blogjava.net/yjj317/articles/51347.html</guid><wfw:comment>http://www.blogjava.net/yjj317/comments/51347.html</wfw:comment><comments>http://www.blogjava.net/yjj317/articles/51347.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjj317/comments/commentRss/51347.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjj317/services/trackbacks/51347.html</trackback:ping><description><![CDATA[
		<p>public String copyFile(String oldPath) {<br />  try {<br />   String str = "";<br />   File oldfile = new File(oldPath);<br />   if (oldfile.exists()) { // 文件存在时<br />    FileReader fr = new FileReader(oldPath); // 读入原文件</p>
		<p>    BufferedReader in = new BufferedReader(fr);<br />    String s = "";<br />    while ((s = in.readLine()) != null) {<br />     str += s;<br />     str += "\n";<br />    }<br />    in.close();<br />    fr.close();<br />   } else {<br />    System.out.println("can not find the file");<br />    return "can not find the file";<br />   }<br />   return str;<br />  } catch (Exception e) {<br />   System.out.println("复制单个文件操作出错");<br />   e.printStackTrace();<br />   return "can not find the file";<br />  }</p>
		<p> }</p>
<img src ="http://www.blogjava.net/yjj317/aggbug/51347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjj317/" target="_blank">fish的Blog</a> 2006-06-08 14:32 <a href="http://www.blogjava.net/yjj317/articles/51347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java中字符串的替换 </title><link>http://www.blogjava.net/yjj317/articles/51256.html</link><dc:creator>fish的Blog</dc:creator><author>fish的Blog</author><pubDate>Thu, 08 Jun 2006 01:06:00 GMT</pubDate><guid>http://www.blogjava.net/yjj317/articles/51256.html</guid><wfw:comment>http://www.blogjava.net/yjj317/comments/51256.html</wfw:comment><comments>http://www.blogjava.net/yjj317/articles/51256.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjj317/comments/commentRss/51256.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjj317/services/trackbacks/51256.html</trackback:ping><description><![CDATA[
		<p>最近在网上搜集了一些java中字符串替换的方法。</p>
		<p>  1. /**<br />  * 字符串替换函数<br />  * @param from 要替换的字符<br />  * @param to 要替换成的目标字符<br />  * @param source 要替换的字符串<br />  * @return 替换后的字符串<br />  */<br />  import java.util.StringTokenizer;</p>
		<p>  public String str_replace(String from,String to,String source) {<br />    StringBuffer bf= new StringBuffer("");<br />    StringTokenizer st = new StringTokenizer(source,from,true);<br />    while (st.hasMoreTokens()) {<br />      String tmp = st.nextToken();<br />      if(tmp.equals(from)) {<br />        bf.append(to);<br />      } else {<br />        bf.append(tmp);<br />      }<br />    }<br />    return bf.toString();<br />  }</p>
		<p>2. /*<br /> *字符串替换函数,另一种方法的实现<br /> */<br />  public String str_replace2(String con ,String tag,String rep){<br />    int j=0;<br />    int i=0;<br />    int k=0;<br />    String RETU="";<br />    String temp =con;<br />    int tagc =tag.length();<br />    while(i&lt;con.length()){<br />      if(con.substring(i).startsWith(tag)){<br />        temp =con.substring(j,i)+rep;<br />        RETU+= temp;<br />        i+=tagc;<br />        j=i;<br />      }else{<br />        i+=1;<br />      }<br />    }<br />    RETU +=con.substring(j);<br />    return RETU;<br />  }   </p>
		<p>3.</p>
		<p>  public static String replace(String strSource, String strFrom, String strTo) {<br />    if(strFrom == null || strFrom.equals(""))<br />      return strSource;<br />    String strDest = "";<br />    int intFromLen = strFrom.length();<br />    int intPos;<br />    while((intPos = strSource.indexOf(strFrom)) != -1) {<br />      strDest = strDest + strSource.substring(0,intPos);<br />      strDest = strDest + strTo;<br />      strSource = strSource.substring(intPos + intFromLen);<br />    }<br />    strDest = strDest + strSource;<br />      return strDest;<br />  }</p>
		<p>
				<br />4.高效替换程序。</p>
		<p>  public static String replace(String strSource, String strFrom, String strTo) {    <br />    if (strSource == null) {        <br />      return null;    <br />    }  <br />    int i = 0;<br />    if ((i = strSource.indexOf(strFrom, i)) &gt;= 0) {<br />      char[] cSrc = strSource.toCharArray();<br />      char[] cTo = strTo.toCharArray();<br />      int len = strFrom.length();  <br />      StringBuffer buf = new StringBuffer(cSrc.length);  <br />      buf.append(cSrc, 0, i).append(cTo);<br />      i += len;    <br />      int j = i;       <br />      while ((i = strSource.indexOf(strFrom, i)) &gt; 0) {  <br />        buf.append(cSrc, j, i - j).append(cTo);   <br />        i += len;  <br />        j = i;        <br />      }        <br />      buf.append(cSrc, j, cSrc.length - j); <br />      return buf.toString(); <br />    } <br />    return strSource;<br />  } </p>
<img src ="http://www.blogjava.net/yjj317/aggbug/51256.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjj317/" target="_blank">fish的Blog</a> 2006-06-08 09:06 <a href="http://www.blogjava.net/yjj317/articles/51256.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jsp中最简单的显示两行两列的方法！</title><link>http://www.blogjava.net/yjj317/articles/51257.html</link><dc:creator>fish的Blog</dc:creator><author>fish的Blog</author><pubDate>Thu, 08 Jun 2006 01:06:00 GMT</pubDate><guid>http://www.blogjava.net/yjj317/articles/51257.html</guid><wfw:comment>http://www.blogjava.net/yjj317/comments/51257.html</wfw:comment><comments>http://www.blogjava.net/yjj317/articles/51257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yjj317/comments/commentRss/51257.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yjj317/services/trackbacks/51257.html</trackback:ping><description><![CDATA[
		<p>写了一个方法，用最简单的方式在页面中显示两行两列的图片。自认为是最简单的一种，在这里给献丑了。</p>
		<p>          public String viewImages() {</p>
		<p>               DBControl cnn = new DBControl(); </p>
		<p>               StringBuffer strsql = new StringBuffer(); </p>
		<p>               int rowCount = 2; </p>
		<p>               int columnCount = 2; </p>
		<p>              try { </p>
		<p>                   String sqlstring = "select pic_url from imagepic"; </p>
		<p>                   String sqllist = "select * from (" + sqlstring + ") where rownum &lt;=" + (rowCount * columnCount);<br />   <br />                   RowSet rss = cnn.rsRowset(sqllist); </p>
		<p>                   if (rss.next()) { </p>
		<p>                     for (int i = 1; i &lt;= 2; i++) { </p>
		<p>                      strsql.append("&lt;tr&gt;"); </p>
		<p>                         for (int j = 1; j &lt;= 2; j++) { </p>
		<p>                           if (rss.isAfterLast()) { </p>
		<p>                               strsql.append("&lt;td&gt;&lt;/td&gt;"); </p>
		<p>                           } else { </p>
		<p>                            strsql.append("&lt;td&gt;");<br />      <br />                           strsql .append("&lt;img src='../..").append(rss.getString("pic_url")) .append( " 'width='80' height='60' border='0' /&gt;");<br />             <br />                           strsql.append("&lt;/td&gt;");<br />                 <br />                           rss.next();<br />                          }<br />                     } </p>
		<p>                  strsql.append("&lt;/tr&gt;"); </p>
		<p>               }<br />        } </p>
		<p>            rss.close(); </p>
		<p>
				<br />        } catch (Exception e) {<br />        }</p>
		<p>       return strsql.toString();<br /> } </p>
<img src ="http://www.blogjava.net/yjj317/aggbug/51257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yjj317/" target="_blank">fish的Blog</a> 2006-06-08 09:06 <a href="http://www.blogjava.net/yjj317/articles/51257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>