﻿<?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-OCM Dream-文章分类-11 报表</title><link>http://www.blogjava.net/nobody_am/category/2024.html</link><description>&lt;br&gt;
Toooooo many Thing</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 07:09:53 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 07:09:53 GMT</pubDate><ttl>60</ttl><item><title>jasperReports经验谈(3)</title><link>http://www.blogjava.net/nobody_am/articles/7873.html</link><dc:creator>MingIsMe</dc:creator><author>MingIsMe</author><pubDate>Sun, 17 Jul 2005 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/nobody_am/articles/7873.html</guid><wfw:comment>http://www.blogjava.net/nobody_am/comments/7873.html</wfw:comment><comments>http://www.blogjava.net/nobody_am/articles/7873.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nobody_am/comments/commentRss/7873.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nobody_am/services/trackbacks/7873.html</trackback:ping><description><![CDATA[<P>/**<BR>&nbsp;* </P>
<P>Title: JRDataSourceAdapter</P>
<P>&nbsp;* <BR>Description: Converting JRDataSource to Mapped ArrayList</P>
<P><BR>&nbsp;* <BR>Copyright: Copyright (c) 2004</P>
<P><BR>&nbsp;* <BR>Company: *****</P>
<P><BR>&nbsp;* @author zephyr<BR>&nbsp;* @version 1.0<BR>&nbsp;*/<BR>package xyz;</P>
<P>import net.sf.jasperreports.engine.*;<BR>import net.sf.jasperreports.engine.design.*;</P>
<P>import java.util.*;</P>
<P><BR>public class JRDataSourceAdapter<BR>{<BR>&nbsp;&nbsp;&nbsp; public static Map JRDataSource2Map(JRDataSource dataSource, String[] fieldNames,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Class[] fieldClasses) throws JRException<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HashMap result;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (fieldNames.length != fieldClasses.length)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new JRException("Number of Field Name &amp; Class unmatch");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JRDesignField[] fields = new JRDesignField[fieldNames.length];</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result = new HashMap(4);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; fieldNames.length; i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fields[i] = new JRDesignField();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fields[i].setName(fieldNames[i]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fields[i].setValueClass(fieldClasses[i]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result.put(fieldNames[i], new ArrayList());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; fields.length; i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object value = dataSource.getFieldValue(fields[i]);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((ArrayList) result.get(fields[i].getName())).add(value);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (dataSource.next());</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return result;<BR>&nbsp;&nbsp;&nbsp; }<BR>}</P>
<P>&nbsp;</P>
<P><BR>/**<BR>&nbsp;* </P>
<P>Title: GraphProvider</P>
<P><BR>&nbsp;* <BR>Description: Generate JFreeChart Image</P>
<P><BR>&nbsp;* <BR>Copyright: Copyright (c) 2004</P>
<P><BR>&nbsp;* <BR>Company: ****</P>
<P><BR>&nbsp;* @author zephyr <BR>&nbsp;* @version 1.0<BR>&nbsp;*/<BR>package xyz;</P>
<P>import net.sf.jasperreports.engine.*;<BR>import net.sf.jasperreports.engine.design.*;<BR>import net.sf.jasperreports.engine.export.*;</P>
<P>import org.jfree.chart.*;<BR>import org.jfree.chart.axis.*;<BR>import org.jfree.chart.plot.*;</P>
<P>import org.jfree.data.*;</P>
<P>import java.awt.*;<BR>import java.awt.image.*;</P>
<P>import java.io.*;</P>
<P>import java.util.*;</P>
<P><BR>public class GraphProvider<BR>{<BR>&nbsp;&nbsp;&nbsp; public static Image getImage(Map dataSource, String fieldNameX, String fieldNameY,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String chartName, String titleX, String titleY, boolean isBarChart, int imageWidth,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int imageHeight) throws JRException<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JRDesignField fieldX = new JRDesignField();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fieldX.setName(fieldNameX);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fieldX.setValueClass(java.lang.String.class);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JRDesignField fieldY = new JRDesignField();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fieldY.setName(fieldNameY);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fieldY.setValueClass(java.lang.Double.class);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ArrayList periods = (ArrayList) dataSource.get(fieldNameX);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ArrayList values = (ArrayList) dataSource.get(fieldNameY);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DefaultCategoryDataset categoryDs = new DefaultCategoryDataset();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i = 0; i &lt; values.size(); i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Object obj = values.get(i);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double dataValue = 0;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (obj != null)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dataValue = ((Double) obj).doubleValue();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; categoryDs.addValue(dataValue, null, (String) periods.get(i));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JFreeChart c = null;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (isBarChart)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c = ChartFactory.createBarChart(chartName, titleX, titleY, categoryDs,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PlotOrientation.VERTICAL, false, false, false);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c = ChartFactory.createLineChart(chartName, titleX, titleY, categoryDs,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PlotOrientation.VERTICAL, false, false, false);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.getTitle().setFont(new Font("Arial", Font.BOLD, 16));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumberAxis axis = (NumberAxis) c.getCategoryPlot().getRangeAxis();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; axis.setAutoRange(true);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TickUnitSource tickUnits = NumberAxis.createIntegerTickUnits();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; axis.setStandardTickUnits(tickUnits);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (c.createBufferedImage(imageWidth, imageHeight));</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>}</P><img src ="http://www.blogjava.net/nobody_am/aggbug/7873.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nobody_am/" target="_blank">MingIsMe</a> 2005-07-17 17:13 <a href="http://www.blogjava.net/nobody_am/articles/7873.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JasperReport学习文档</title><link>http://www.blogjava.net/nobody_am/articles/7866.html</link><dc:creator>MingIsMe</dc:creator><author>MingIsMe</author><pubDate>Sun, 17 Jul 2005 08:55:00 GMT</pubDate><guid>http://www.blogjava.net/nobody_am/articles/7866.html</guid><wfw:comment>http://www.blogjava.net/nobody_am/comments/7866.html</wfw:comment><comments>http://www.blogjava.net/nobody_am/articles/7866.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nobody_am/comments/commentRss/7866.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nobody_am/services/trackbacks/7866.html</trackback:ping><description><![CDATA[<P>1:对于A4的报表,可以这样指定页面:pageWidth="595" pageHeight="842" orientation="Portrait" ,orientation指的是打印的方向,可有2中选择<BR>Portrait(纵向),LandScape(横向)<BR>2:报表xml中是区分大小写的<BR>3:表达式:jasper中共有&lt;variableExpression&gt;, &lt;initialValueExpression&gt;, &lt;groupExpression&gt;,<BR>&lt;printWhenExpression&gt;, &lt;imageExpression&gt;, &lt;textFieldExpression&gt;这几种表达式,在表达式中可以引用3中类型的变量,分别是$P{},$V{},$F{}.<BR>P=Parameter,V=Variable,F=Field,P通常是通过程序传给报表中的,V是为了简化操作定义的一种表达式,F通常是要填充的字段.<BR>&lt;textFieldExpression&gt;<BR>$P{ReportTitle}<BR>&lt;/textFieldExpression&gt;<BR>ReportTitle是在应用程序中通过一个Map指定的:<BR>Map parameters = new HashMap();<BR>parameters.put("ReportTitle", "Address Report");<BR>JasperPrint jasperPrint = <BR>JasperFillManager.fillReport(<BR>jasperReport, <BR>parameters, <BR>new WebappDataSource()<BR>);<BR>参数也可以 在xml中指定:<BR>&lt;parameter name="MyDate" class="java.util.Date"&gt;<BR>&lt;defaultValueExpression&gt;<BR>new java.util.Date()<BR>&lt;/defaultValueExpression&gt;<BR>&lt;/parameter&gt; <BR>$F{}例子:<BR>&lt;textFieldExpression&gt;<BR>$F{FirstName} + " " + $F{LastName} + " was hired on " +<BR>(new SimpleDateFormat("MM/dd/yyyy")).format($F{HireDate}) + "."<BR>&lt;/textFieldExpression&gt;</P>
<P>4:数据源:<BR>如要为报表指定一个数据源,则需要实现dori.jasper.engine.JRDataSource接口,也就是实现下面2个方法:<BR>public boolean next() throws JRException;<BR>public Object getFieldValue(JRField jrField) throws JRException;<BR>如果报表指定的是Connection,则可以在xml中指定查询语句:<BR>&lt;queryString&gt;&lt;![CDATA[SELECT * FROM Orders]]&gt;&lt;/queryString&gt;<BR>5:计算:<BR>&lt;variable name="QuantitySum" class="java.lang.Double" calculation="Sum"&gt;<BR>&lt;variableExpression&gt;$F{Quantity}&lt;/variableExpression&gt;<BR>&lt;/variable&gt;</P><img src ="http://www.blogjava.net/nobody_am/aggbug/7866.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nobody_am/" target="_blank">MingIsMe</a> 2005-07-17 16:55 <a href="http://www.blogjava.net/nobody_am/articles/7866.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IReport+Mysql制作分组报表</title><link>http://www.blogjava.net/nobody_am/articles/7865.html</link><dc:creator>MingIsMe</dc:creator><author>MingIsMe</author><pubDate>Sun, 17 Jul 2005 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/nobody_am/articles/7865.html</guid><wfw:comment>http://www.blogjava.net/nobody_am/comments/7865.html</wfw:comment><comments>http://www.blogjava.net/nobody_am/articles/7865.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/nobody_am/comments/commentRss/7865.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nobody_am/services/trackbacks/7865.html</trackback:ping><description><![CDATA[<P class=MsoNormal>Step1 到iReport官方网站下载iReport软件包，有两种类型下载，其中一种带有源码包，建议下载带有源码的包，我下载的是0.41版。</P>
<P class=MsoNormal dir=ltr>&nbsp;Step2 解压软件包到某个目录D:\Ming\Programs\iReport.&nbsp; 在这个目录下创建一个startup.bat文件内容如下（需要做响应改变）：<BR>&nbsp; <FONT face="Courier New" color=#333399>@echo off<BR>&nbsp; set JAVA_HOME=d:\j2sdk<BR>&nbsp; set ANT_HOME=D:\Ming\Programs\ant<BR>&nbsp; set IREPORT_HOME=D:\Ming\Programs\iReport<BR>&nbsp; rem %ANT_HOME%\bin\ant javadocs<BR>&nbsp; %ANT_HOME%\bin\ant iReport</FONT></P>
<P class=MsoNormal dir=ltr></P>
<P class=MsoNormal>Step3 以后双击这个文件就可以启动iReport。</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step4 到MySQL官方网站下载MySQL Connector/J 3.1,这是一个Mysql的JDBC驱动包，为了支持连接mysql5.0。解压这个包，把mysql-connector-java-3.1.8-bin.jar放到iReport的lib目录下。把原来的的mysql-connector-java-3.0.8-stable-bin.jar删除。</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step5 启动mysql服务，重启iReport。</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step6 在iReport的Datesource菜单Connections子菜单里建立JDBC数据连接。<BR>&nbsp; Name: report&nbsp;&nbsp; (注：随便一个名称)<BR>&nbsp;&nbsp; JDBC Driver: com.mysql.jdbc.Driver<BR>&nbsp;&nbsp; JDBC URL: jdbc:mysql://localhost/report<BR>&nbsp;&nbsp; Server Address: localhost<BR>&nbsp;&nbsp; Database: report&nbsp; (注：mysql的一个数据库)<BR>&nbsp;&nbsp; User name: root (或者其他用户名)<BR>&nbsp;&nbsp; Password: 密码</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step7&nbsp; 在report数据库里创建表groups，共5个字段：id,Year,Month,Day,Hour，Data都是Integer类型。Id是自增长类型，作为主键。并插入一些数据。我们分别按Year，Month，day分组，显示Data值。</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step8 新建一个包表并且保存，Datasource |Report Query为报表添加SQL语句：<BR>&nbsp; &nbsp;<FONT color=#333399>select * from groups order by Year,Month,Day,Hour</FONT></P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step9 为报表添加3个组：Year，Month，Day。添加方法：点击工具栏的Groups按钮，New，跳出的对话框中，设定（Year group举例）： Group Name：Year</P>
<P class=MsoNormal>Group Expression：$F{Year}</P>
<P class=MsoNormal>此时报表的页面出现Year Header。</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step10 在报表中填入标题，单击T工具栏按钮，在报表中的Header栏中拉一个框出来，右键，选择property修改内容和字体。与此类似，在columns栏中添加5个框，分别是"年"，"月"，"日"，"时"，"数据"。并用直线把他们分开。参考附图。</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step11 在报表中填入分组数据的Field。添加方法，以Year为例，点击工具栏的F按钮，在"年"列，Yeargroup行对应的地方，拉出一个Field框，右击选择属性，在TextField标签里修改两项内容：TextField Expression Class：java.lang.Integer。TextField Expression：$F{Year}。</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step12 在报表中填入记录数据。在Detail行，"时"，"数据"列分别拉两个Field框，修改TextField标签里面的内容与Step11类似。</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step13 建立报表和数据源的连接。选择菜单：Build|Set Active Connection。</P>
<P class=MsoNormal></P>
<P class=MsoNormal>Step14 点击Run Report With connection。</P>
<P class=MsoNormal>
<TABLE cellSpacing=1 cellPadding=1 width=200 border=0>
<TBODY>
<TR>
<TD>1.设计图</TD>
<TD><IMG height=360 alt=design.jpg src="http://www.blogjava.net/images/blogjava_net/nobody_am/groupreport/design.jpg" width=595 border=0></TD></TR>
<TR>
<TD>2. 预览图</TD>
<TD><IMG height=440 alt=preview.jpg src="http://www.blogjava.net/images/blogjava_net/nobody_am/groupreport/preview.jpg" width=600 border=0></TD></TR></TBODY></TABLE></P><BR><img src ="http://www.blogjava.net/nobody_am/aggbug/7865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nobody_am/" target="_blank">MingIsMe</a> 2005-07-17 16:54 <a href="http://www.blogjava.net/nobody_am/articles/7865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>