﻿<?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-KE-文章分类-webwork</title><link>http://www.blogjava.net/keweibo/category/25192.html</link><description>As long as you are there to lead me ,I won't lose my way </description><language>zh-cn</language><lastBuildDate>Tue, 15 Jan 2008 15:50:32 GMT</lastBuildDate><pubDate>Tue, 15 Jan 2008 15:50:32 GMT</pubDate><ttl>60</ttl><item><title>WebWork/struts2中格式化输出数字和日期的方法</title><link>http://www.blogjava.net/keweibo/articles/174997.html</link><dc:creator>KE</dc:creator><author>KE</author><pubDate>Sun, 13 Jan 2008 09:46:00 GMT</pubDate><guid>http://www.blogjava.net/keweibo/articles/174997.html</guid><wfw:comment>http://www.blogjava.net/keweibo/comments/174997.html</wfw:comment><comments>http://www.blogjava.net/keweibo/articles/174997.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/keweibo/comments/commentRss/174997.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/keweibo/services/trackbacks/174997.html</trackback:ping><description><![CDATA[<span style="color: red">转:&nbsp; http://www.blogjava.net/aoxj/archive/2006/08/14/63461.html</span><br />
前言：大概在去年6月的时候，我们团队开始使用webwork来替代struts，刚开始大家都没有经验，为了格式化输出时间和数字，想出了很多现在看来笨笨的傻傻的方法。后来俺找到了这个方法，试验了一下之后发了下面这个email给了team member, 今天一位同事问起这个问题，俺从数以千计的已发送邮件中找到了这个东西，想想决定整理出来。给大家分享一下，顺便给我自己做个备份，呵呵，后者基本上是俺写blog的一个重要用途。<br />
<br />
&nbsp;&nbsp;&nbsp; 分享一个在WebWork中如何格式化显示数字和日期的方法：
<p><br />
具体的做法这里有详细的说明：<br />
<a href="http://wiki.opensymphony.com/display/WW1/How+to+format+dates+and+numbers?showComments=true">http://wiki.opensymphony.com/display/WW1/How+to+format+dates+and+numbers?showComments=true</a></p>
<p><br />
&nbsp;&nbsp; 下面是项目中推荐使用的时间格式:<br />
#format<br />
global.format.date={0,date,yyyy-MM-dd}<br />
global.format.time={0,date,HH:mm:ss}<br />
global.format.datetime={0,date,yyyy-MM-dd HH:mm:ss}</p>
<p>注意的是如果使用Carlender来保存时间,因为上面要求传入的是Data对象，因此需要使用Carlender.getTime()方法<br />
从Carlender中获取Date:</p>
<p>&lt;ww:text name="'global.format.date'"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;ww:param value="'birthday.time()'"/&gt;<br />
&lt;/ww:text&gt;</p>
<p>这里使用的是&lt;ww:param/&gt;标签来传递参数，虽然也可以使用 &lt;ww:text name="'format.date'" value0= "'birthday.time()'"/&gt;<br />
但是后面的这个方法在webwork的新版本中已经被要求不要使用，大家还是尽量使用 &lt;ww:param/&gt;标签</p>
<p>禁用value0属性的说明：<br />
大家可以找到text标签的源代码,在com.opensymphony.webwork.views.jsp.ui.TextTag中：<br />
public void setValue0(String aName) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOG.warn("The value attributes of TextTag are deprecated.");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value1Attr = aName;<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p><br />
对于数字的格式化，这里有两个参考：<br />
global.format.percent = {0,number,##0.00'%'}<br />
global.format.money = {0,number,$##0.00}</p>
<p>考虑目前在项目中使用最多的是显示附件大小,定义以下格式:<br />
global.format.size.k={0,number,##0.00'K'}<br />
global.format.size.m={0,number,##0.00'M'}<br />
global.format.size.g={0,number,##0.00'G'}</p>
<p>如action有方法<br />
public long getFilesize();&nbsp; 返回的大小是以byte为单位，在显示时通常是以k或M显示<br />
则显示时:<br />
&lt;ww:text name="'global.format.size.k'"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;ww:param value="filesize/1024"/&gt;<br />
&lt;/ww:text&gt;<br />
&lt;ww:text name="'global.format.size.m'"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;ww:param value="filesize/1048576"/&gt;<br />
&lt;/ww:text&gt;<br />
&lt;ww:text name="'global.format.size.g'"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;ww:param value="filesize/1073741824"/&gt;<br />
&lt;/ww:text&gt;</p>
<p>比较遗憾的是似乎没有办法在资源文件中进行这个/1024的运算，试过{0/1024,number,##0.00'K'} 无法解析。只好在jsp里面用 value="filesize/1024"来计算实际值。不知道这里有没有别的更好的实现方式？<br />
<br />
恩，顺便再介绍一下当时俺们team想出来的笨笨的方法，不要见笑啊，以上面的显示文件大小为例，想到的方法大致有以下几种：<br />
1. 直接输出字符串的结果<br />
&nbsp;&nbsp;&nbsp;getFileSizeString(), 在里面用java代码判断大小并生成诸如"1.2k", "31.2M"的结果返回<br />
2. 提供多个函数<br />
&nbsp; getFileSizeByte(), getFileSizeK(), getFileSizeM(), getFileSizeG()<br />
3.使用javascript在client端格式化<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;script type = "text/javascript"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var resultNum = &lt;ww:property value="fileSize" /&gt;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resultNum = format(resultNum);//类似的函数&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.write(resultNum);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/script&gt;<br />
4.使用自定义标签</p>
--------------------------------------------------------------------------------------------------------------<br />
<strong>struts2中格式化输出数字和日期的方法<br />
<br />
<u>资源文件<br />
</u></strong>......<br />
#格式化数字或时间输出<br />
global.format.date={0,date,yyyy-MM-dd}<br />
global.format.money={0,number,￥##0.00 '元'}<br />
......<br />
<strong><u>JSP文件</u></strong><br />
格式化时间:&nbsp; &lt;s:text name="global.format.date"&gt;&lt;s:param value="publishTime"&gt;&lt;/s:param&gt;&lt;/s:text&gt;<br />
格式化数字:&nbsp;&nbsp;&lt;s:text name="global.format.money"&gt;&lt;s:param value="price"/&gt;&lt;/s:text&gt;<br />
<br />
<img src ="http://www.blogjava.net/keweibo/aggbug/174997.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/keweibo/" target="_blank">KE</a> 2008-01-13 17:46 <a href="http://www.blogjava.net/keweibo/articles/174997.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>strut2(webwork)表单验证问题</title><link>http://www.blogjava.net/keweibo/articles/150023.html</link><dc:creator>KE</dc:creator><author>KE</author><pubDate>Mon, 01 Oct 2007 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/keweibo/articles/150023.html</guid><wfw:comment>http://www.blogjava.net/keweibo/comments/150023.html</wfw:comment><comments>http://www.blogjava.net/keweibo/articles/150023.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/keweibo/comments/commentRss/150023.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/keweibo/services/trackbacks/150023.html</trackback:ping><description><![CDATA[<p>struts2+hibernate+spring 实现 <br />
用框架验证 <br />
问题：提交空表单时，出错信息会不断的累加<br />
解决方法:<br />
<span style="color: red">spring2.0只将action配置中加入&lt;xxx scope="prototype"&gt;就OK了</span></p>
<img src ="http://www.blogjava.net/keweibo/aggbug/150023.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/keweibo/" target="_blank">KE</a> 2007-10-01 10:33 <a href="http://www.blogjava.net/keweibo/articles/150023.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XXXAction-validation.xml</title><link>http://www.blogjava.net/keweibo/articles/139656.html</link><dc:creator>KE</dc:creator><author>KE</author><pubDate>Sun, 26 Aug 2007 15:10:00 GMT</pubDate><guid>http://www.blogjava.net/keweibo/articles/139656.html</guid><wfw:comment>http://www.blogjava.net/keweibo/comments/139656.html</wfw:comment><comments>http://www.blogjava.net/keweibo/articles/139656.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/keweibo/comments/commentRss/139656.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/keweibo/services/trackbacks/139656.html</trackback:ping><description><![CDATA[&lt;!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" <br>"<a href="http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd</a>"&gt;<br>&lt;validators&gt;<br>&nbsp;&lt;field name="user.name"&gt;<br>&nbsp;&nbsp;&lt;field-validator type="<span style="COLOR: red">requiredstring</span>"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;message&gt;用户名不能为空&lt;/message&gt;<br>&nbsp;&nbsp;&lt;/field-validator&gt;<br>&nbsp;&nbsp;&lt;field-validator type="<span style="COLOR: red">stringlength</span>"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;param name="<span style="COLOR: #ff00ff">minLength</span>"&gt;3&lt;/param&gt;<br>&nbsp;&nbsp;&nbsp;&lt;param name="<span style="COLOR: #ff00ff">maxLength</span>"&gt;6&lt;/param&gt;<br>&nbsp;&nbsp;&nbsp;&lt;message&gt;长度必须在<span style="COLOR: #ff00ff">${minLength}</span>和<span style="COLOR: #ff00ff">${maxLength}</span>之间，当前的长度为<span style="COLOR: #ff00ff">${user.name.length()}&nbsp;&lt;/</span>message&gt;<br>&nbsp;&nbsp;&lt;/field-validator&gt;<br>&nbsp;&lt;/field&gt;<br>&nbsp;<br>&nbsp;&lt;field name="user.password"&gt;<br>&nbsp;&nbsp;&lt;field-validator type="<span style="COLOR: red">requiredstring</span>"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;message&gt;密码不能为空&lt;/message&gt;<br>&nbsp;&nbsp;&lt;/field-validator&gt;<br>&nbsp;&nbsp;&lt;field-validator type="<span style="COLOR: red">stringlength</span>"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;param name="<span style="COLOR: #ff00ff">minLength</span>"&gt;4&lt;/param&gt;<br>&nbsp;&nbsp;&nbsp;&lt;param name="<span style="COLOR: #ff00ff">maxLength</span>"&gt;12&lt;/param&gt;<br>&nbsp;&nbsp;&nbsp;&lt;message&gt;长度必须在<span style="COLOR: #ff00ff">${minLength}</span>和<span style="COLOR: #ff00ff">${maxLength}</span>之间，当前的长度为<span style="COLOR: #ff00ff">${user.password.length()}</span> &lt;/message&gt;<br>&nbsp;&nbsp;&lt;/field-validator&gt;<br>&nbsp;&nbsp;&lt;field-validator type="<span style="COLOR: red">fieldexpression</span>"&gt;<br><span style="COLOR: #3366ff">&nbsp;&nbsp;&nbsp;&lt;param name="expression"&gt;user.password == user.passwordConfirm&lt;/param&gt;</span><br>&nbsp;&nbsp;&nbsp;&lt;message&gt;两次输入的密码的正确&lt;/message&gt;<br>&nbsp;&nbsp;&lt;/field-validator&gt;<br>&nbsp;&lt;/field&gt;<br>&nbsp;<br>&nbsp;&lt;field name="user.startDate"&gt;<br>&nbsp;&nbsp;&lt;field-validator type="<span style="COLOR: red">date</span>"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;message&gt;必须为日期类型&lt;/message&gt;<br>&nbsp;&nbsp;&lt;/field-validator&gt;<br>&nbsp;&lt;/field&gt;<br>&nbsp;<br>&nbsp;&lt;field name="user.endDate"&gt;<br>&nbsp;&nbsp;&lt;field-validator type="<span style="COLOR: red">date</span>"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;message&gt;必须为日期类型&lt;/message&gt;<br>&nbsp;&nbsp;&lt;/field-validator&gt;<br>&nbsp;&nbsp;&lt;field-validator type="<span style="COLOR: red">fieldexpression</span>"&gt;<br><span style="COLOR: #3366ff">&nbsp;&nbsp;&nbsp;&lt;param name="expression"&gt;user.endDate &gt; user.startDate&lt;/param&gt;</span><br>&nbsp;&nbsp;&nbsp;&lt;message&gt;签约日期 必须要大于 合同结束日期&lt;/message&gt;<br>&nbsp;&nbsp;&lt;/field-validator&gt;<br>&nbsp;&lt;/field&gt;<br>&nbsp;<br>&nbsp;&lt;field name="user.email"&gt;<br>&nbsp;&nbsp;&lt;field-validator type="<span style="COLOR: #ff0000">email</span>"&gt;<br>&nbsp;&nbsp;&nbsp;&lt;message&gt;必须为合法的Email格式&lt;/message&gt;<br>&nbsp;&nbsp;&lt;/field-validator&gt;<br>&nbsp;&lt;/field&gt;<br>&lt;/validators&gt; 
<img src ="http://www.blogjava.net/keweibo/aggbug/139656.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/keweibo/" target="_blank">KE</a> 2007-08-26 23:10 <a href="http://www.blogjava.net/keweibo/articles/139656.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>webwork中的result 和 interceptor  </title><link>http://www.blogjava.net/keweibo/articles/139180.html</link><dc:creator>KE</dc:creator><author>KE</author><pubDate>Fri, 24 Aug 2007 13:32:00 GMT</pubDate><guid>http://www.blogjava.net/keweibo/articles/139180.html</guid><wfw:comment>http://www.blogjava.net/keweibo/comments/139180.html</wfw:comment><comments>http://www.blogjava.net/keweibo/articles/139180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/keweibo/comments/commentRss/139180.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/keweibo/services/trackbacks/139180.html</trackback:ping><description><![CDATA[<p><strong><em style="COLOR: red">webwork中的默认result类型<br></em></strong></p>
<p>chain --&gt; 链接到另一个webwork action<br>dispathc --&gt; 标准Servlet分发器的包含操作(默认值)<br>freemarker --&gt; 生成一个FreeMarker模板<br>httpheader --&gt; 发送处理HTTP header的命令<br>jasper --&gt; 生成一个JasperReports报表<br>redirect --&gt; 发送HTTP重定向<br>velocity --&gt; 生成一个Velocity模板<br>xalt --&gt; 通过XSL翻译处理XML</p>
<p><strong><em style="COLOR: red">webwork中的默认interceptor(基础)<br></em></strong></p>
<p>chain --&gt; 将参数从一个action复制到另外一个action<br>component --&gt; 为action应用Ioc的逻辑处理<br>conversionError --&gt; 如果发生了类型上的错误,则增加相应的字段错误信息<br>execAndWait --&gt; 生成一个独立的线程,以执行action<br>fileUpload --&gt; 设置上传文件为action文件(File对象)<br>logger --&gt; 记录action执行的起始时间<br>model-driven --&gt; 将action模型压入值栈中<br>params --&gt; 将HTTP参数值应用至action实例中<br>prepare --&gt; 调用action的prepare()方法<br>servlet-config --&gt; 提供对通用HTTP对象(请求,响应)的访问<br>static-params --&gt; 将action映射设定的参数应用到action实例中<br>timer --&gt; 控制action的定时执行<br>token --&gt; 防止表单重复提交的基本实现<br>toen-session --&gt; 防止表单重复提交的高级实现<br>validation --&gt; 校验action中的字段值<br>workflow --&gt;&nbsp; 如果发生错误则自动返回INPUT这个result code对应的视图</p>
<p><span style="COLOR: red"><strong><em>webwork中的默认interceptor(范例)栈<br></em></strong></span></p>
<p>defaultStack --&gt; 基础intercetor栈<br>validationWorkflowStack --&gt; 使用validation和 workflow 这两个interceptor 的范例<br>fileUploadStack --&gt; 使用fileUpload interceptor的范例<br>componentStack --&gt; 使用component(Ioc) interceptor的范例<br>modelDrivenStack --&gt; 使用model-driven interceptor的范例<br>chainStack --&gt; 使用chain interceptor的范例<br>execAndWaitStack --&gt; 使用execAndWait interceptor的范例<br>completeStack --&gt; 使用了chain model-driven Ioc fileUpload validation和workflow的完整inerceptor栈<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;&nbsp;&nbsp;&nbsp;&nbsp;绝大部分情况下,要以选择它作为你的interceptor栈<br></p>
<img src ="http://www.blogjava.net/keweibo/aggbug/139180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/keweibo/" target="_blank">KE</a> 2007-08-24 21:32 <a href="http://www.blogjava.net/keweibo/articles/139180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>xwork.xml配置文件</title><link>http://www.blogjava.net/keweibo/articles/139116.html</link><dc:creator>KE</dc:creator><author>KE</author><pubDate>Fri, 24 Aug 2007 07:48:00 GMT</pubDate><guid>http://www.blogjava.net/keweibo/articles/139116.html</guid><wfw:comment>http://www.blogjava.net/keweibo/comments/139116.html</wfw:comment><comments>http://www.blogjava.net/keweibo/articles/139116.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/keweibo/comments/commentRss/139116.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/keweibo/services/trackbacks/139116.html</trackback:ping><description><![CDATA[<p>xwork.xml配置文件</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>&lt;!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "xwork-1.0.dtd" &gt;<br>&lt;xwork&gt;<br>&nbsp;&lt;include file="webwork-default.xml"&gt;&lt;/include&gt;<br>&nbsp;<br>&nbsp; &nbsp;&lt;package name="default" extends="webwork-default"&gt;<br>&nbsp; &nbsp;&nbsp;&lt;default-interceptor-ref name="completeStack"/&gt;<br>&nbsp; &nbsp;&nbsp;<br>&nbsp; &nbsp;&nbsp;&lt;action name="hello" class="dgut.ke.action.HelloWorld"&gt;<br>&nbsp; &nbsp;&nbsp;&nbsp;&lt;result name="success"&gt;/hello.jsp&lt;/result&gt;<br>&nbsp; &nbsp;&nbsp;&nbsp;&lt;result name="input"&gt;/name.jsp&lt;/result&gt;<br>&nbsp; &nbsp;&nbsp;&lt;/action&gt;<br>&nbsp; &nbsp;&lt;/package&gt;<br>&lt;/xwork&gt;<br>在这里有一个关键的地方需要注意:xwork.xml包含了一个名为webwork-default.xml<br>的文件.这样做是为了保证你可以使用所有构建于XWork之上的WebWork附加特性.webwork-default.xml<br>包含了让WebWork正常运行的标准配置,因此包含它是十分重要的.没有这个文件,WebWork无法正确的被<br>配置,当然程序也无法正常运行了.我们不需要自己创建webwork-default.xml文件,因为它已经包含在<br>WebWork的JAR文件中了.</p>
<p>webwork.properties配置文件<br>&nbsp;&nbsp;与把xwork.xml放在WEB-INF/classes下一样,我们还需要在这个目录中增加一个名为webwork.properties<br>文件.其内容为</p>
<p>webwork.tag.altSyntax = true<br>#解决中文乱码<br>webwork.i18n.encoding = GBK</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/keweibo/aggbug/139116.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/keweibo/" target="_blank">KE</a> 2007-08-24 15:48 <a href="http://www.blogjava.net/keweibo/articles/139116.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebWork的强大的验证器(转)</title><link>http://www.blogjava.net/keweibo/articles/139113.html</link><dc:creator>KE</dc:creator><author>KE</author><pubDate>Fri, 24 Aug 2007 07:36:00 GMT</pubDate><guid>http://www.blogjava.net/keweibo/articles/139113.html</guid><wfw:comment>http://www.blogjava.net/keweibo/comments/139113.html</wfw:comment><comments>http://www.blogjava.net/keweibo/articles/139113.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/keweibo/comments/commentRss/139113.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/keweibo/services/trackbacks/139113.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: webwork提供了强大的验证功能，下边一一介绍一些常用的功能的用法。一，首先webwork的validator是基于拦截器的，所以首先要配制一下拦截器，默认的拦截器，已经使用了validator，如果你想定义自己的拦截器组合，记得在你的拦截器的stack中把这句话加入&lt;interceptor-ref&nbsp;name="validation"&gt;&nbsp;&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.blogjava.net/keweibo/articles/139113.html'>阅读全文</a><img src ="http://www.blogjava.net/keweibo/aggbug/139113.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/keweibo/" target="_blank">KE</a> 2007-08-24 15:36 <a href="http://www.blogjava.net/keweibo/articles/139113.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>