﻿<?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-Tom-随笔-随笔分类-Appfuse</title><link>http://www.blogjava.net/43880800/category/19348.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 18:17:05 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 18:17:05 GMT</pubDate><ttl>60</ttl><item><title>iReport &amp; JasperReport配置及用户简明手册</title><link>http://www.blogjava.net/43880800/archive/2006/12/04/85434.html</link><dc:creator>Tom</dc:creator><author>Tom</author><pubDate>Mon, 04 Dec 2006 10:28:00 GMT</pubDate><guid>http://www.blogjava.net/43880800/archive/2006/12/04/85434.html</guid><wfw:comment>http://www.blogjava.net/43880800/comments/85434.html</wfw:comment><comments>http://www.blogjava.net/43880800/archive/2006/12/04/85434.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/43880800/comments/commentRss/85434.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/43880800/services/trackbacks/85434.html</trackback:ping><description><![CDATA[
		<h2 class="diaryTitle">iReport &amp; JasperReport配置及用户简明手册- -</h2>
		<p>                                       </p>
		<p>
		</p>
		<p>关于iReport和JasperReport的简明手册</p>
		<p>By Gem 伍子轩</p>
		<br />
		<font size="+0">
				<font size="+0">
						<p>
								<strong>
								</strong>
						</p>
						<h1>
								<font size="+0">1</font>安装</h1>
						<h2>
								<font size="+0">1.1 iReport</font>的安装</h2>
						<font size="+0">iReport</font>直接解压后，将<font size="+0">J2SDK\lib</font>目录下的<font size="+0">tools.jar</font>拷贝到<font size="+0">iReport\lib</font>目录下，然后在<font size="+0">iReport</font>目录下运行<font size="+0">iReport.bat</font>即可。<br />需要注意的是<font size="+0">tools.jar</font>的版本必须要与本机安装的<font size="+0">jre</font>一致，也就是说，如果系统安装的是<font size="+0">jre1.4.2</font>就必须用<font size="+0">jdk1.4.2</font>的<font size="+0">tools.jar</font>。<br /><h2><font size="+0">1.2 JapserReport</font>开发（运行）环境的搭建</h2><p><font size="+0">JasperReport</font>的开发环境必须要导入以下所有包：</p><p><font size="+0">1．  JasperReport</font>包，如<font size="+0">jasperreports-0.6.1.jar</font>；</p><p><font size="+0">2．  Aparche Common</font>包，包括<font size="+0">logging</font>、<font size="+0">digester</font>、<font size="+0">beanutils</font>、<font size="+0">collections</font>、<font size="+0">logging-api</font>；</p><p><font size="+0">3．  iText</font>包，包括<font size="+0">itext-1.1.jar</font>和<font size="+0">iTextAsian.jar</font>（用于输出中文字符到<font size="+0">PDF</font>文件）</p><p>以上所有包（除了<font size="+0">iTextAsian.jar</font>）都已经包含在<font size="+0">iReport\lib</font>目录下。</p><font size="+0"><font size="+0"><h1><font size="+0">2 </font>开发流程</h1><p>用<font size="+0">iReport</font>可视化编辑生成的文件是<font size="+0">jrxml</font>文档，这是一种<font size="+0">xml</font>文件，记录了一份<font size="+0">report</font>的详细信息，我们可以直接用写字板打开它编辑，<font size="+0">iReport</font>就是一个方便我们生成和编辑<font size="+0">jrxml</font>文件的工具，它也可以很方便地将<font size="+0">jrxml</font>文件编译成<font size="+0">jasper</font>报表文件。</p><p><font size="+0">jrxml</font>文件通过<font size="+0">Jasper</font>编译之后就变成了<font size="+0">jasper</font>文件，这份文件才是真正在程序中调用生成报表的<font size="+0">report</font>文件。</p><p>但是有一点要注意的是，<font size="+0">jasper</font>的各个版本编译出来的<font size="+0">jasper</font>文件并不兼容，就是说用<font size="+0">0.6.1</font>版编译出来的文件用<font size="+0">0.6.4</font>版调用是会出错的，而<font size="+0">iReport</font>自带的<font size="+0">Jasper</font>版本是<font size="+0">0.6.1</font>，而<font size="+0">jasper</font>的最新版本是<font size="+0">0.6.4</font>。所以为了保持通用性，我建议只用<font size="+0">iReport</font>来开发编辑<font size="+0">jrxml</font>文件，而不编译成<font size="+0">jasper</font>文件，在我们的打印报表程序中再即时编译一次。虽然这样效率可能会低了一点，但是保证了不同版本的兼容性。</p><p>在我们的程序中，要调用<font size="+0">Jasper</font>的话，首先要得到一个数据库的<font size="+0">Connection</font>，形如：<font size="+0">Connection con = ...</font></p><p>需要往<font size="+0">JasperReport</font>传参数的话只需要新建一个<font size="+0">Map</font>，以参数名作为<font size="+0">key</font>，需要传入的对象作为<font size="+0">value</font>，譬如：</p><p><font size="+0">Map props = new HashMap();</font></p><p><font size="+0">      props.put("name", new String("name"));</font></p><p>需要多个参数只需分别<font size="+0">put</font>进<font size="+0">Map</font>里去就可以了。</p><font size="+0"><font size="+0"><p><font size="+0">JasperReport</font>有如下几个主要的<font size="+0">Manager</font>：</p><table cellspacing="0" cellpadding="0" border="1"><tbody><tr><td valign="top" width="163"><strong><font size="+0">JasperCompileManager<br /></font></strong></td><td valign="top" width="405"><p>将<font size="+0">jrxml</font>文件编译成<font size="+0">jasper</font>文件或<font size="+0">JasperReport</font>对象</p></td></tr><tr><td valign="top" width="163"><strong><font size="+0">JasperFillManager<br /></font></strong></td><td valign="top" width="405"><p>从数据源中获取数据并填充<font size="+0">jasper</font>文件或<font size="+0">JasperReport</font>对象，产生<font size="+0">JasperPrint</font>对象</p></td></tr><tr><td valign="top" width="163"><strong><font size="+0">JasperPrintManager<br /></font></strong></td><td valign="top" width="405"><p>将<font size="+0">JasperPrint</font>对象直接输出到打印机打印</p></td></tr><tr><td valign="top" width="163"><strong><font size="+0">JasperExportManager<br /></font></strong></td><td valign="top" width="405"><p>将<font size="+0">JasperPrint</font>对象导出成<font size="+0">PDF</font>或<font size="+0">HTML</font>文件（或流）</p></td></tr><tr><td valign="top" width="163"><strong><font size="+0">JasperRunManager<br /></font></strong></td><td valign="top" width="405"><p>运行一个<font size="+0">jasper</font>文件或<font size="+0">JasperReport</font>对象并输出到<font size="+0">PDF</font>或<font size="+0">Html</font>文件（或流）中，我的理解是等于集成了<strong><font size="+0">JasperFillManager</font></strong>和<strong><font size="+0">JasperExportManager</font></strong>的功能</p></td></tr></tbody></table><p>对于上述对象的详细说明请参阅<font size="+0">JasperReport</font>的文档。</p><p>例程：</p>例程： 
<p><font size="+0">public static void main(String[] args) {</font></p><p><font size="+0">    try {</font></p><p><font size="+0">      Class.forName("org.gjt.mm.mysql.Driver");</font></p><p><font size="+0">      Connection con = DriverManager.getConnection(</font></p><p><font size="+0">          "jdbc:mysql://wes:3306/umpdb?useUnicode=true&amp;characterEncoding=GBK", "root", "elite");</font></p><p><font size="+0">      File f1 = new File("Account.jrxml");</font></p><p><font size="+0">      File f2 = new File("Contact.jrxml");</font></p><p><font size="+0">      JasperReport main = JasperCompileManager.compileReport(f1</font></p><p><font size="+0">          .getAbsolutePath());</font></p><p><font size="+0">      JasperReport report = JasperCompileManager.compileReport(f2</font></p><p><font size="+0">          .getAbsolutePath());</font></p><p><font size="+0">      Map props = new HashMap();</font></p><p><font size="+0">      props.put("subreport", report);</font></p><p><font size="+0">      JasperPrint print = JasperFillManager.fillReport(main, props,con);</font></p><p><font size="+0">      //JasperPrintManager.printReport(print,true);</font></p><p><font size="+0">      JasperExportManager.exportReportToPdfFile(print, "a.pdf");</font></p><p><font size="+0">      //JasperRunManager.runReportToPdfFile("Account.jasper", "a.pdf", props, con);</font></p><p><font size="+0">    } catch (ClassNotFoundException e) {</font></p><p><font size="+0">      // TODO </font>自动生成<font size="+0"> catch </font>块</p><p><font size="+0">      e.printStackTrace();</font></p><p><font size="+0">    } catch (SQLException e) {</font></p><p><font size="+0">      // TODO </font>自动生成<font size="+0"> catch </font>块</p><p><font size="+0">      e.printStackTrace();</font></p><p><font size="+0">    } catch (JRException e) {</font></p><p><font size="+0">      // TODO </font>自动生成<font size="+0"> catch </font>块</p><p><font size="+0">      e.printStackTrace();</font></p><p><font size="+0">    }</font></p><p><font size="+0">  }</font></p><font size="+0"><font size="+0"><h1><font size="+0">3 </font>注意事项</h1><p><font size="+0">1</font>．<font size="+0">iReport</font>中新建中文报表的时候记得要输入<font size="+0">XML</font>编码<font size="+0">GB2312</font>。</p><p><font size="+0">2</font>．<font size="+0">iReport</font>中定义中文字体的时候，要选择<font size="+0">PDF Font Name</font>为<font size="+0">STSong-Light</font>（宋体）、<font size="+0">MHei-Medium</font>（黑体）、<font size="+0">MSung-Light</font>，在<font size="+0">PDF Encoding</font>中选择<font size="+0">GB-UCS2-H(Chinese Simplified)</font>，否则输出到<font size="+0">PDF</font>时会乱码。</p><p><font size="+0">3</font>．用<font size="+0">Report SQL</font>查询之后，可能会出现某些字段没有自动建立<font size="+0">Field</font>，就需要在<font size="+0">Field</font>中手动定义了。</p></font></font></font></font></font></font></font>
		</font>
<img src ="http://www.blogjava.net/43880800/aggbug/85434.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/43880800/" target="_blank">Tom</a> 2006-12-04 18:28 <a href="http://www.blogjava.net/43880800/archive/2006/12/04/85434.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>appfuse 乱码问题</title><link>http://www.blogjava.net/43880800/archive/2006/11/18/81892.html</link><dc:creator>Tom</dc:creator><author>Tom</author><pubDate>Fri, 17 Nov 2006 21:33:00 GMT</pubDate><guid>http://www.blogjava.net/43880800/archive/2006/11/18/81892.html</guid><wfw:comment>http://www.blogjava.net/43880800/comments/81892.html</wfw:comment><comments>http://www.blogjava.net/43880800/archive/2006/11/18/81892.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/43880800/comments/commentRss/81892.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/43880800/services/trackbacks/81892.html</trackback:ping><description><![CDATA[    <font color="#0000ff"><font color="#000080"></font><font color="#000080">捣鼓了一个晚上,又是ant new又是ant setup,好不容易搭建起来了appfuse, 乐呵呵的打开appfuse deploy到tomcat的测试项目,突然发现有些乱码,又是修改tomcat的URLEncording="UTF8",又是把<b><strong>ApplicationResources</strong>_zh_cn.properties</b> 拷贝来拷贝去,google,baidu齐上阵,searching了下,看来这个问题还是非常普遍,但是中文乱码的原因有很多种,特罗列如下,看了appfuse对中文的支持有点问题.</font><br /></font><br />     <font color="#ff0000">1.build.xml里面display资源没有国际化处理，也就是没有进行编码,在build.xml进行修改使之进行国际化.</font><br />     <font color="#000080">修改方案:<br />        &lt;native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes" <br />            includes="<strong>ApplicationResources_zh</strong>*.properties" encoding="UTF-8"/&gt;<br />        &lt;generate-database-properties/&gt;<br />     改为:<br />        &lt;native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes" <br />            includes="<strong>*_zh*.properties</strong>" encoding="UTF-8"/&gt;<br />        &lt;generate-database-properties/&gt;<br /></font><br />    <font color="#ff0000">2.Tomcat 的URLEnCording要设置为UTF8,应为appfuse是以utf-8打包的<br /><br /></font>   <font color="#ff0000"> 3.就是要对原始<b><strong>ApplicationResources</strong>_zh_cn.properties</b>进行ascii编码转换然后丢到classes里面,不要用他ant自动转换过的</font><font color="#000080">.奇怪的是appfuse的ant的时候是对文件进行转换了,但是还是有部分中文存在乱码,奇怪ing......不知道是appfuse的疏忽还是什么.继续研究中...我是<span id="ctl02_ctl00_lblEntry">appfuse-1.9-src的包.但是我手工转了下ant之前的源码,发现乱码问题消失.就这个原因搞了我一个晚上....郁闷<br />    修改方案:<br />    </span><span id="ctl02_ctl00_lblEntry">native2ascii -encoding UTF-8   ApplicationResources_zh_CN.properties te</span><strong>  (te为转后文件名)<br />    </strong><span id="ctl02_ctl00_lblEntry">native2ascii  te  ApplicationResources_zh_CN.properties1 -reverse(转回来 呵呵)<br /><br /></span><span id="ctl02_ctl00_lblEntry"><div>    补充一点,在appfuse的appfuse-1.9-src这个包里的 ApplicationResource...直接打开是中文是乱码,可以采用上面的两条命令把它还原出来.便于我们的开发然后修改ant任务即可.而对于appfuse-jsf-1.9-src来说,它的applicationResource...打开后就是我们可以看懂的中文:).</div><div> </div><div><b>总之,new之后的项目的ApplicationResources...要用原来的文件替换掉.<br /><br /><br /></b><img alt="" src="file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot-3.jpg" /><br /></div></span></font><br /><span id="ctl02_ctl00_lblEntry"><br /></span><img src ="http://www.blogjava.net/43880800/aggbug/81892.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/43880800/" target="_blank">Tom</a> 2006-11-18 05:33 <a href="http://www.blogjava.net/43880800/archive/2006/11/18/81892.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AppFuse 环境的构建</title><link>http://www.blogjava.net/43880800/archive/2006/11/18/81881.html</link><dc:creator>Tom</dc:creator><author>Tom</author><pubDate>Fri, 17 Nov 2006 17:30:00 GMT</pubDate><guid>http://www.blogjava.net/43880800/archive/2006/11/18/81881.html</guid><wfw:comment>http://www.blogjava.net/43880800/comments/81881.html</wfw:comment><comments>http://www.blogjava.net/43880800/archive/2006/11/18/81881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/43880800/comments/commentRss/81881.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/43880800/services/trackbacks/81881.html</trackback:ping><description><![CDATA[
		<p>
				<a class="wikipage" href="http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse">AppFuse</a>项目的主要目的是帮助你加速web应用程序的开发。下面说明如何利用它创建一个新工程的基本步骤。 </p>
		<ol>
				<li>安装 J2SE 1.4.2+ 并设置环境变量JAVA_HOME指向J2SE所在的目录。 
</li>
				<li>
						<a class="external" href="https://appfuse.dev.java.net/servlets/ProjectDocumentList">下载</a>
						<img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" />源程序报或者从CVS(cvs -d :pserver:guest@cvs.dev.java.net:/cvs co appfuse)中检出<i>appfuse</i>模块。
<div class="note" style="MARGIN: 10px"><b>注意:</b> 你可以使用<a class="external" href="https://appfuse.dev.java.net/files/documents/1397/13863/appfuse-installer-1.8.zip">the all-in-one installer</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" />一次性下载安装AppFuse 1.8, Ant 1.6.2, Tomcat 5.0.28 和 MySQL 4.1.11 (for Windows)。查看相关的 <a class="external" href="https://appfuse.dev.java.net/source/browse/*checkout*/appfuse/extras/myjavapack/README-dist.txt">README.txt</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" /> 文件可以了解更多信息。</div></li>
				<li>安装 Install Ant 1.6.2+ 并设置 ANT_HOME 环境变量。 安装 Tomcat 4.1.x+ (推荐使用Tomcat 5.0.28) 并设置 CATALINA_HOME 环境变量指向对应的Tomcat安装目录。 参阅我的文章 <a class="wikipage" href="http://raibledesigns.com/wiki/Wiki.jsp?page=DevelopmentEnvironment">设置开发环境</a> 可以了解在哪里下载到这些程序并且可以了解我通常如何安装配置这些程序。 
</li>
				<li>安装 MySQL 3.23.x+ (推荐使用 4.1.7). 
<div class="note" style="MARGIN: 10px"><b>注意:</b> 如果你使用 MySQL 4.1.7, 确定正确设置了 UTF-8 字符集和 InnoDB 表类型。 <a class="external" href="http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuseSupport#ref-AppFuseSupport-5">这里说明如何设置</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" />。</div></li>
				<li>
						<a class="wikipage" href="http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuseSMTP">设置本机的 SMTP server</a> 或者修改 mail.properties 文件(在 web/WEB-INF/classes 目录下) 和 build.properties 文件(在根目录下 -- 给 log4j 消息使用) 以使用一个已有的smtp server - 默认值是 <i>localhost</i>。 
</li>
				<li>把文件 lib/junit3.8.1/junit.jar 拷贝到 $ANT_HOME/lib目录下。
<div class="note" style="MARGIN: 10px"><b>注意:</b> 你可能会发现在 $ANT_HOME/lib目录已经有一个 ant-junit.jar 文件了. 这个 jar 包不是 JUnit 类库, 而是 Ant 的 junit task 实现，在执行Ant junit task时会使用你新增的这个junit.jar 文件。</div></li>
				<li>如果你计划使用 iBATIS (代替 Hibernate) 或者 struts 以外的 web framework, 现在安装它们 (安装指令下面可以查到)。安装完成以后, 在appfuse目录下运行 <b>ant new</b> 。会提示你输入application name, database name 和 package name。完成这些操作以后会在appfuse同级目录家里一个包含新程序所需要的全部文件的以你输入的application name命名的目录。
<div class="note" style="MARGIN: 10px; BACKGROUND-COLOR: rgb(255,204,204)"><b>警告:</b> 请不要在输入的application name, database name 和 package name使用 "test", 包含 "appfuse" 的名称 或者 以数字作为起始字符的名称，否则将会导致任务无法正常执行，此外使用两个破折号 (-) 会造成结果混乱。</div></li>
				<li>切换到这个新的工程目录并且运行 <b>ant setup</b> (或者运行 <b>ant setup-db setup-tomcat deploy</b>) 创建数据库，配置tomcat并发布你的新应用程序。创建数据库的任务只有在你的root用户密码为空的情况下才能工作。需要的话你可以修改 build.properties 文件. <a class="wikipage" href="http://raibledesigns.com/wiki/Wiki.jsp?page=AssistanceWithAntSetup">安装设置帮助 </a>? 
</li>
				<li>若你细想要进行测试以确定所有程序工作良好，运行 <b>ant test-all</b> - 在运行这个任务的时候确定 Tomcat 没有启动。 接下来, 运行 <b>ant test-reports</b> - 运行结束后会显示消息告诉你如何查看产生的报告。 </li>
		</ol>
		<p>在你确认你正确的完成了上述步骤以后 - 浏览一下 <a class="wikipage" href="http://raibledesigns.com/wiki/Wiki.jsp?page=Articles_zh">指南 </a>了解如何使用appfuse开发程序。 </p>
		<p>
				<b>安装的可选项</b>
		</p>
		<ul>
				<li>如果你希望使用 <a class="external" href="http://ibatis.com/">iBATIS</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" /> 作为持久化framework, 查看<tt>extras/ibatis</tt>目录下的 README.txt 文件或者运行 <b>ant install-ibatis</b>。 
</li>
				<li>如果你希望使用 <a class="external" href="http://www.springframework.org/docs/reference/mvc.html">Spring</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" /> 作为web framework, 查看 <tt>extras/spring</tt> 目录下的 README.txt 文件或者运行 <b>ant install-springmvc</b>。 
</li>
				<li>如果你希望使用 <a class="external" href="http://www.opensymphony.com/webwork">WebWork</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" /> 作为web framework, 查看<tt>extras/webwork</tt> 目录下的 README.txt 文件或者运行 <b>ant install-webwork</b>。 
</li>
				<li>如果你希望使用 <a class="external" href="http://myfaces.apache.org/">JSF</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" /> 作为web framework, 查看 <tt>extras/jsf</tt> 目录下的 README.txt 文件或者运行 <b>ant install-jsf</b>。 
</li>
				<li>如果你希望使用 <a class="external" href="http://jakarta.apache.org/tapestry">Tapestry</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" /> 作为web framework, 查看 <tt>extras/tapestry</tt> 目录下的 README.txt 文件或者运行 <b>ant install-tapestry</b>。 </li>
		</ul>
		<ul>
				<li>如果你想写脚本自动基于Appfuse创建并测试自己的工程。在CVS上面有两个我已经写好的用来测试的脚本供参考: <a class="external" href="https://appfuse.dev.java.net/source/browse/*checkout*/appfuse/Attic/test-spring.sh?content-type=text/plain">spring+ibatis</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" /> 和 <a class="external" href="https://appfuse.dev.java.net/nonav/source/browse/*checkout*/appfuse/Attic/test-webwork.sh?content-type=text/plain">webwork</a><img class="outlink" alt="" src="http://raibledesigns.com/wiki/images/out.png" />. 注意在实际开发过程中最好不要使用 "appfuse" 作为工程名 因为可能会造成不必要的查找/替换。 
</li>
				<li>如果你不希望安装 iBATIS, Spring MVC, WebWork, JSF 和 Tapestry - 你应该在使用版本控制工具把它们检入前删除<tt>extras</tt>下的相关目录。 </li>
		</ul>
		<div class="note" style="MARGIN-LEFT: 40px">
				<b>注意:</b> 安装程序会修改 Eclipse classpath，但是不会是理想的方法。 你需要人工修改它。</div>
<img src ="http://www.blogjava.net/43880800/aggbug/81881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/43880800/" target="_blank">Tom</a> 2006-11-18 01:30 <a href="http://www.blogjava.net/43880800/archive/2006/11/18/81881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>