﻿<?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-waysun一路阳光-随笔分类-cnweblog/nm1504</title><link>http://www.blogjava.net/1504/category/37844.html</link><description>不轻易服输,不轻言放弃.--心是梦的舞台，心有多大，舞台有多大。踏踏实实做事，认认真真做人。</description><language>zh-cn</language><lastBuildDate>Thu, 01 Apr 2010 07:29:55 GMT</lastBuildDate><pubDate>Thu, 01 Apr 2010 07:29:55 GMT</pubDate><ttl>60</ttl><item><title>HSQL查询乱码【转总结】</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256104.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:50:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256104.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256104.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256104.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256104.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;"><span style="font-size: 12pt;">在spring+hibernate中：</span><span style="font-size: 12pt;">Hql</span><span style="font-size: 12pt;">中有中文参数（如</span><span style="font-size: 12pt;">from&#160;test as c where c.name='张三'</span><span style="font-size: 12pt;">）的话被翻译成</span><span style="font-size: 12pt;">sql</span><span style="font-size: 12pt;">的时候会出现乱码，解决办法是在</span><span style="font-size: 12pt;">application.xml</span><span style="font-size: 12pt;">中加入以下语句：
<div class="dp-highlighter">
<ol class="dp-xml">
    <li class="alt"><span class="tag">&lt;<span class="tag-name">prop</span>&#160;<span class="attribute">key</span>=<span class="attribute-value">"hibernate.query.factory_class"</span><span class="tag">></span>&#160;&#160;</span>
    </li>
    <li class="">&#160;&#160;&#160;&#160;org.hibernate.hql.classic.ClassicQueryTranslatorFactory &#160;&#160;
    </li>
    <li class="alt">prop<span class="tag">></span>&#160;&#160; </li>
</ol>
</div>
在hibernate.cfg.xml &#160; 中加入下面的属性 &#160; <br />
&#160; &#160; <br />
&#160; &lt;property &#160; name="hibernate.query.factory_class"> &#160; <br />
&#160; &#160; <br />
&#160; &#160; &#160; &#160; &#160; &#160; org.hibernate.hql.classic.ClassicQueryTranslatorFactory &#160; <br />
&#160; &#160; <br />
&#160; &lt;/property>&#160;&#160;</span></span>
<img src ="http://www.blogjava.net/1504/aggbug/256104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:50 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate3.0中实现模糊查询【总结】</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256103.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:50:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256103.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256103.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256103.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256103.html</trackback:ping><description><![CDATA[今天的项目中在用<font style="background-color: #c7edcc;" size="3">Hibernate3.0</font>进行模糊查询的时候，出现中文乱码，在网上查了好久资料，终于解决了，现在把整理后的贴出来。<br />
Hibernate中实现模糊查询，可有以下三种方式： <br />
<br />
第一种方式：QBC查询 <br />
String name = "", info = ""; <br />
if (sub != null &amp;&amp; sub.getSubname() != null) { <br />
name = sub.getSubname(); <br />
} <br />
if (sub != null &amp;&amp; sub.getSubinfo() != null) { <br />
info = sub.getSubinfo(); <br />
} <br />
Criteria cr = session.createCriteria(Subject.class); <br />
cr.add(Expression.like("subname","%"+name+"%")); <br />
cr.add(Expression.like("subinfo","%"+info+"%")); <br />
<br />
第二种方式：HQL查询语句 <br />
String hql = "from Subject as s where s.subname like :name and s.subinfo like :info"; <br />
// 调用session的获得数据列表方法，传递HQL查询语句 <br />
String&nbsp; subnamevalue="要查询的中文值";<br />
<font style="background-color: #c7edcc;" size="3">String&nbsp;&nbsp; sql="";<br />
sql&nbsp;&nbsp; = "from Pfapp&nbsp; where name like :subname "; </font><br />
<font style="background-color: #c7edcc;" size="3">Query query = session.createQuery(sql);&nbsp;<br />
query.setString("subname","%"+subnamevalue+"%");<br />
</font>System.out.println("*********"+sql); <br />
<br />
注：Subject为数据库表subject映射的类；它有相应的属性subname、subinfo及相应的get和set方法；sub为Subject的一个实例化对象。<br />
另外说明的是：如果你不写对象名称，直接写字段，那么hibernate就按照数据库字段进行查找 <br />
如果你写 &nbsp; (对象名.对象属性），那么hibernate就按照ormapping中的映射字段进行查找 <br />
这是hibernate的灵活之处！！
<img src ="http://www.blogjava.net/1504/aggbug/256103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:50 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ant-build.xml打包应用程序【总结】</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256102.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:47:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256102.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256102.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256102.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256102.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256102.html</trackback:ping><description><![CDATA[<p>弄了好久的ant打包终于明白了，贴出来大家分享。<font style="background-color: #c7edcc;" size="3"><br />
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;project name="gpdi" basedir="." default="deploy"&gt;<br />
&nbsp;&lt;!-- Properties and Paths --&gt;<br />
&nbsp;&lt;property name="dir.java.src" value="src" /&gt;<br />
&nbsp;<br />
&nbsp;&lt;property name="dir.java.build" value="defaultroot/WEB-INF/classes" /&gt;<br />
&nbsp;&nbsp;<br />
&nbsp;&lt;property name="dir.lib" value="lib" /&gt;<br />
&nbsp;&nbsp;<br />
&nbsp;&lt;property name="dir.deploy" value="deploy" /&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&lt;property name="file.manifest" value="manifest.txt" /&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&lt;property name="file.jar" value="gpdi.jar" /&gt;<br />
&nbsp;&lt;!-- Just to fool the test --&gt;<br />
&nbsp;&lt;property name="gpdi.root" value="." /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!-- 排除java源文件的模式集 --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;patternset id="no.java"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;exclude name="**/*.java" /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/patternset&gt;<br />
&nbsp;&lt;path id="project.class.path"&gt;<br />
&nbsp;&nbsp;&lt;pathelement location="${dir.java.build}"/&gt;<br />
&nbsp;&nbsp;&lt;fileset dir="${dir.lib}" id="lib.path"&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;include name="**/*.jar"/&gt;<br />
&nbsp;&nbsp;&lt;/fileset&gt;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&lt;/path&gt;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; &lt;!-- 初始化,建立目录,复制文件 --&gt;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="init" depends="clean" description="初始化,建立目录,复制文件"&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mkdir dir="${dir.java.build}" /&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mkdir dir="${dir.dist}" /&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;copy todir="${dir.java.build}"&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;fileset dir="${dir.java.src}"&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;patternset refid="no.java" /&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/fileset&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/copy&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; &lt;!-- 清理,删除临时目录 --&gt;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="clean" description="清理,删除临时目录"&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;delete dir="${dir.java.build}" /&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;delete dir="${dir.dist}" /&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;echo level="info"&gt;清理完毕&lt;/echo&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
&nbsp;<br />
&nbsp;&lt;!-- 编译源文件--&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&lt;target name="compile" <br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;depends="init" <br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;description="编译源文件"&gt;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&lt;javac srcdir="${dir.java.src}"<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;destdir="${dir.java.build}"<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;deprecation="off"<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;debug="off"<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;encoding="gbk"<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;source="1.5" <br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;target="1.5"&gt;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&lt;classpath refid="project.class.path"/&gt;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&lt;/javac&gt;<br />
&nbsp;&nbsp;<br />
&nbsp;&lt;/target&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp; &lt;!-- 创建清单文件 --&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp; &lt;target name="create.manifest" description="创建清单文件"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;manifest file="${dir.java.src}/${file.manifest}"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;attribute name="Built-By" value="${user.name}" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;attribute name="Main-Class" value="com.mfsoft.net.task.TaskJob" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;attribute name="Class-Path" value="lib/log4j-1.2.9.jar lib/classes12.jar lib/joone-engine.jar" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/manifest&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp; &lt;/target&gt;</font></p>
<p><font style="background-color: #c7edcc;" size="3">&nbsp;&nbsp;&nbsp; &lt;!-- 打包类文件 --&gt;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="deploy" depends="create.manifest" description="打包类文件"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mkdir dir="${dir.deploy}" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mkdir dir="${dir.deploy}/log" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;jar jarfile="${dir.deploy}/${file.jar}" manifest="${dir.java.src}/${file.manifest}"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;fileset dir="${dir.java.build}"
includes="db.properties,config.properties,log4j.properties,com/mfsoft/net/task/*.class,com/mfsoft/credit/modelmang/operation/*.class,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
com/mfsoft/net/datatranslate/*.class,com/mfsoft/net/pre/*.class,com/mfsoft/icity/platform/database/*.class,com/mfsoft/icity/platform/datashare/*.class,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; com/mfsoft/icity/platform/publicclass/*.class,com/mfsoft/credit/viable/*.class" /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/jar&gt;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&lt;!--复制用到的库以及其他文件 --&gt;<br />
&lt;mkdir dir="${dir.deploy}/lib"/&gt;<br />
&lt;copy todir="${dir.deploy}/lib"&gt;<br />
&nbsp;&lt;fileset dir="defaultroot/WEB-INF/lib" includes="classes12.jar,joone-engine.jar,log4j-1.2.9.jar"/&gt;<br />
&lt;/copy&gt;&nbsp; <br />
&lt;mkdir dir="${dir.deploy}/model"/&gt; <br />
&lt;copy todir="${dir.deploy}/model"&gt;<br />
&nbsp;&lt;fileset dir="defaultroot/WEB-INF/classes" includes="*.snet"/&gt;<br />
&lt;/copy&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
&lt;/project&gt;</font></p>
<img src ="http://www.blogjava.net/1504/aggbug/256102.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:47 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256102.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Struts中Action传参数 [总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256101.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:47:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256101.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256101.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256101.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256101.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256101.html</trackback:ping><description><![CDATA[<font color="#0000a0">
<p><span style="font-size: 8pt;"><span style="font-size: 10pt;">public ActionForward userSave(ActionMapping mapping, ActionForm form,<br />
&#160;&#160;&#160;HttpServletRequest request, HttpServletResponse response) {<br />
&#160;&#160;UserForm userForm = (UserForm) form;</span></span><font color="#0000a0" size="3"><br />
<span style="font-size: 8pt;"><span style="font-size: 10pt;">&#160;&#160;return mapping.findForward("userSave");<br />
&#160;}</span></span></font></p>
<span style="font-size: 8pt;"><span style="font-size: 10pt;">//传参数<br />
</span></span><span style="font-size: 8pt;"><span style="font-size: 10pt;">&#160;public ActionForward userSave(ActionMapping mapping, ActionForm form,<br />
&#160;&#160;&#160;HttpServletRequest request, HttpServletResponse response) {<br />
&#160;&#160;UserForm userForm = (UserForm) form;<br />
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<br />
</span></span><font color="#0000a0" size="3">
<p><span style="font-size: 8pt;"><span style="font-size: 10pt;">&#160;String path = mapping.findForward("delete").getPath();</span></span></p>
<p><span style="font-size: 8pt;"><span style="font-size: 10pt;">&#160;&#160;//TODO: 读取本Action所有的请求参数，将path重新构造，加上请求参数</span></span></p>
<p><span style="font-size: 8pt;"><span style="font-size: 10pt;">&#160;&#160;ActionForward forward= new ActionForward(path+"&amp;pageId=1");<br />
&#160;&#160;forward.setRedirect(true);<br />
//传参数后返回<br />
&#160;&#160;return forward;</span></span></p>
<p><span style="font-size: 10pt;">&#160;</span></p>
<span style="font-size: 10pt;">/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<br />
<br />
&#160;//&#160;return mapping.findForward("userSave");<br />
&#160;}</span></font><br />
</font>
<br />
<img src ="http://www.blogjava.net/1504/aggbug/256101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:47 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256101.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>保存和提交按钮事件[总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256100.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:43:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256100.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256100.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256100.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256100.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256100.html</trackback:ping><description><![CDATA[1.<font size="3">&nbsp;&nbsp;&nbsp;<br />
&lt;input type="button" name="save" value="生成表格"onclick="javascript:Save();"&gt;<br />
&lt;input type="button" name="commit" value=" 提交 "onclick="javascript:Commit();"&gt;&nbsp;<br />
</font>2.<br />
<font size="3">&nbsp;function Save()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; &nbsp;var theForm=document.projectSetForm;<br />
&nbsp;&nbsp;&nbsp;theForm.action="scoreOperation.do?do=creat";<br />
&nbsp;&nbsp;&nbsp;theForm.submit();<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; function Commit()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; &nbsp;var theForm=document.projectSetForm;<br />
&nbsp;&nbsp;theForm.action="projectSet.do?do=save";<br />
&nbsp;&nbsp;theForm.submit();<br />
&nbsp;&nbsp;&nbsp; }<br />
</font>3.<br />
<font size="3">&lt;html:form action="project/projectSet.do" method="POST" &gt;</font><br />
<font size="3">&nbsp;&lt;/html:form&gt;</font>
<img src ="http://www.blogjava.net/1504/aggbug/256100.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:43 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256100.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>bean:define id的使用[总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256099.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:40:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256099.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256099.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256099.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256099.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256099.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;">&lt;bean:define &#160; id="pagename" &#160; name="requestName"/> &#160; <br />
&#160; &#160; <br />
<clk>&#160; id:指的是这个bean的唯一名字(可以自由定义或者说可以自定义但是必须唯一)，在这里定义的id="pagename" ,在要调用的网页里面可以随便的使用和访问/ &#160; </clk><br />
&#160; name:指的是从上一个页面或者action里面传过来的变量，可以是任何类型。(例如再上一网页定义<font size="3">request.setAttribute("requestName", requestName);</font>) &#160; <br />
&#160; 例如： &#160; <br />
&#160; &#160; &#160; 我有一个Bean对象User对象，这个里面保存了admin管理员的个人信息，姓名(name)，性别(sex)、年龄(age)那么怎么用呢。 &#160; <br />
&#160; 在action里面你可以把User对象传过来 &#160; <br />
&#160; request.setAttribute("user",User); &#160; <br />
&#160; 在页面 &#160; <br />
&#160; &lt;bean:define &#160; id="admin" &#160; name="user"./> &#160; <br />
&#160; 然后就可以和bean:write搭配使用 &#160; <br />
&#160; &lt;bean:write &#160; name="admin" &#160; property="name"/> &#160; <br />
&#160; &lt;bean:write &#160; name="admin" &#160; property="sex"/> &#160; <br />
&#160; &lt;bean:write &#160; name="admin" &#160; property="age"/> </span>
<img src ="http://www.blogjava.net/1504/aggbug/256099.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:40 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256099.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate实现one-to-one级联保存[自己总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256097.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:38:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256097.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256097.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256097.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256097.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256097.html</trackback:ping><description><![CDATA[<a title="one-to-one 实例" href="/Files/1504/one-to-one.rar">http://www.blogjava.net/1504/admin/EditPosts.aspx?opt=1</a>
<p><span style="font-size: 10pt;" twffan="done">在具体的项目应用中,我们很少会用到一对一的级联操作,且很多时候一对一的操作可以通过多对一实现,但是一对一有自己的好处,就是在任何时候都能保证主外键数据的一致性,但是多对一的情况下未必能做到.<br />
我在项目中具体用到了一对一的级联操作,从网上拿了 一个例子来做,但是没有成功,于是只好自己研究,现在把修改后的代码帖出来.<br />
本例子使用<font size="3">hibernate3.jar</font>+oracle数据库<br />
库表:<br />
<font size="3">CARD_TEST</font>(<font size="3">CARDID[</font><font size="3">NUMBER(18)]</font>,<font size="3">CARDNUM[</font><font size="3">VARCHAR2(20)]</font>)<br />
<font size="3">USER_TEST</font>(<font size="3">USERID</font>[<font size="3">NUMBER(18)</font>],<font size="3">USERNAME</font>[<font size="3">VARCHAR2(20)</font>])<br />
<font size="3">TestMain.java</font><br />
</span></p>
<p><span style="font-size: 10pt;" twffan="done">package com.gpdi.test;</span><font size="3"><br />
<span style="font-size: 10pt;" twffan="done">import org.hibernate.Session;<br />
import org.hibernate.Transaction;<br />
public class TestMain {<br />
/**<br />
&nbsp;* 存储一个用户<br />
&nbsp;* @param user<br />
&nbsp;*/<br />
public void save(User user){<br />
&nbsp;user.setUsername("TEST");<br />
&nbsp;Card card=new Card();<br />
&nbsp;//Card card1=new Card();<br />
&nbsp;card.setCardnum("HGJUYT");<br />
&nbsp;//card1.setCardnum("fghy55");<br />
&nbsp;user.setCard(card);<br />
&nbsp;//user.setCard(card1);<br />
&nbsp;Session session=HibernateSessionFactory.currentSession();<br />
&nbsp;&nbsp;&nbsp; card.setUser(user);<br />
&nbsp;&nbsp;&nbsp; //card1.setUser(user);<br />
&nbsp;Transaction tr=session.beginTransaction();<br />
&nbsp;session.save(user);<br />
&nbsp;//session.save(card);<br />
&nbsp;tr.commit();<br />
&nbsp;session.close();&nbsp;<br />
}</span></font></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;public static void main(String[] args) throws Exception {<br />
&nbsp;&nbsp;TestMain test=new TestMain();<br />
&nbsp;&nbsp;&nbsp;&nbsp; test.save(new User());<br />
&nbsp;}</font></span></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">}<br />
<font size="3">Card.java</font><br />
</font></span></p>
<p><span style="font-size: 10pt;" twffan="done">package com.gpdi.test;</span></p>
<p><span style="font-size: 10pt;" twffan="done">/**<br />
&nbsp;* Card generated by MyEclipse - Hibernate Tools<br />
&nbsp;*/</span></p>
<p><span style="font-size: 10pt;" twffan="done">public class Card&nbsp; implements java.io.Serializable {</span><font size="3"><br />
<span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; // Fields&nbsp;&nbsp;&nbsp; </span></font></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp; private Integer cardid;<br />
&nbsp;&nbsp;&nbsp;&nbsp; private String cardnum;<br />
&nbsp;&nbsp;&nbsp;&nbsp; private User user;</font></span></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;&nbsp;&nbsp; // Constructors</font></span></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;&nbsp;&nbsp; public User getUser() {<br />
&nbsp;&nbsp;return user;<br />
&nbsp;}<br />
&nbsp;public void setUser(User user) {<br />
&nbsp;&nbsp;this.user = user;<br />
&nbsp;}<br />
&nbsp;/** default constructor */<br />
&nbsp;&nbsp;&nbsp; public Card() {<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; /** full constructor */<br />
&nbsp;&nbsp;&nbsp; public Card(String cardnum) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.cardnum = cardnum;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; // Property accessors</font></span></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;&nbsp;&nbsp; public Integer getCardid() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this.cardid;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; public void setCardid(Integer cardid) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.cardid = cardid;<br />
&nbsp;&nbsp;&nbsp; }</font></span></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;&nbsp;&nbsp; public String getCardnum() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this.cardnum;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; public void setCardnum(String cardnum) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.cardnum = cardnum;<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
}<br />
</font></span></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">User.java</font><br />
package com.gpdi.test;</span></p>
<p><span style="font-size: 10pt;" twffan="done">import java.util.HashSet;<br />
import java.util.Set;</span></p>
<p><span style="font-size: 10pt;" twffan="done">/**<br />
&nbsp;* User generated by MyEclipse - Hibernate Tools<br />
&nbsp;*/</span></p>
<p><span style="font-size: 10pt;" twffan="done">public class User&nbsp; implements java.io.Serializable {</span><font size="3"><br />
<span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; // Fields&nbsp;&nbsp;&nbsp; </span></font></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp; private Integer userid;<br />
&nbsp;&nbsp;&nbsp;&nbsp; private String username;<br />
&nbsp;&nbsp;&nbsp;&nbsp; private Card card;<br />
&nbsp;&nbsp;&nbsp;&nbsp; //private Set card = new HashSet();</font></span><font size="3"><br />
<span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; // Constructors</span></font></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;&nbsp;&nbsp; public Card getCard() {<br />
&nbsp;&nbsp;return card;<br />
&nbsp;}</font></span><font size="3"><br />
<span style="font-size: 10pt;" twffan="done">&nbsp;public void setCard(Card card) {<br />
&nbsp;&nbsp;this.card = card;<br />
&nbsp;}</span><br />
<span style="font-size: 10pt;" twffan="done">&nbsp;/** default constructor */<br />
&nbsp;&nbsp;&nbsp; public User() {<br />
&nbsp;&nbsp;&nbsp; }</span><span style="font-size: 10pt;" twffan="done"><br />
&nbsp;&nbsp;&nbsp; /** full constructor */<br />
&nbsp;&nbsp;&nbsp; public User(String username) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.username = username;<br />
&nbsp;&nbsp;&nbsp; }</span><span style="font-size: 10pt;" twffan="done"><br />
&nbsp;&nbsp;&nbsp; // Property accessors</span></font></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;&nbsp;&nbsp; public Integer getUserid() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this.userid;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; public void setUserid(Integer userid) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.userid = userid;<br />
&nbsp;&nbsp;&nbsp; }</font></span></p>
<p><span style="font-size: 10pt;" twffan="done"><font size="3">&nbsp;&nbsp;&nbsp; public String getUsername() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return this.username;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; public void setUsername(String username) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.username = username;<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
<font size="3">HibernateSessionFactory.java</font><br />
</font></span></p>
<p><span style="font-size: 10pt;" twffan="done">package com.gpdi.test;</span></p>
<p><span style="font-size: 10pt;" twffan="done">import org.hibernate.HibernateException;<br />
import org.hibernate.Session;<br />
import org.hibernate.cfg.Configuration;</span></p>
<p><span style="font-size: 10pt;" twffan="done">/**<br />
&nbsp;* Configures and provides access to Hibernate sessions, tied to the<br />
&nbsp;* current thread of execution.&nbsp; Follows the Thread Local Session<br />
&nbsp;* pattern, see {@link http://hibernate.org/42.html}.<br />
&nbsp;*/<br />
public class HibernateSessionFactory {</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; /** <br />
&nbsp;&nbsp;&nbsp;&nbsp; * Location of hibernate.cfg.xml file.<br />
&nbsp;&nbsp;&nbsp;&nbsp; * NOTICE: Location should be on the classpath as Hibernate uses<br />
&nbsp;&nbsp;&nbsp;&nbsp; * #resourceAsStream style lookup for its configuration file. That<br />
&nbsp;&nbsp;&nbsp;&nbsp; * is place the config file in a Java package - the default location<br />
&nbsp;&nbsp;&nbsp;&nbsp; * is the default Java package.&lt;br&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; * Examples: &lt;br&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; * &lt;code&gt;CONFIG_FILE_LOCATION = "/hibernate.conf.xml". <br />
&nbsp;&nbsp;&nbsp;&nbsp; * CONFIG_FILE_LOCATION = "/com/foo/bar/myhiberstuff.conf.xml".&lt;/code&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp; private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; /** Holds a single instance of Session */<br />
&nbsp;private static final ThreadLocal threadLocal = new ThreadLocal();</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; /** The single instance of hibernate configuration */<br />
&nbsp;&nbsp;&nbsp; private static final Configuration cfg = new Configuration();</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; /** The single instance of hibernate SessionFactory */<br />
&nbsp;&nbsp;&nbsp; private static org.hibernate.SessionFactory sessionFactory;</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; /**<br />
&nbsp;&nbsp;&nbsp;&nbsp; * Returns the ThreadLocal Session instance.&nbsp; Lazy initialize<br />
&nbsp;&nbsp;&nbsp;&nbsp; * the &lt;code&gt;SessionFactory&lt;/code&gt; if needed.<br />
&nbsp;&nbsp;&nbsp;&nbsp; *<br />
&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp; @return Session<br />
&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp; @throws HibernateException<br />
&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp; public static Session currentSession() throws HibernateException {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Session session = (Session) threadLocal.get();</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;if (session == null || !session.isOpen()) {<br />
&nbsp;&nbsp;&nbsp;if (sessionFactory == null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cfg.configure(CONFIG_FILE_LOCATION);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sessionFactory = cfg.buildSessionFactory();<br />
&nbsp;&nbsp;&nbsp;&nbsp;} catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.err<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.println("%%%% Error Creating SessionFactory %%%%");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;session = (sessionFactory != null) ? sessionFactory.openSession()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: null;<br />
&nbsp;&nbsp;&nbsp;threadLocal.set(session);<br />
&nbsp;&nbsp;}</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return session;<br />
&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; /**<br />
&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp; Close the single hibernate session instance.<br />
&nbsp;&nbsp;&nbsp;&nbsp; *<br />
&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp; @throws HibernateException<br />
&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp; public static void closeSession() throws HibernateException {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Session session = (Session) threadLocal.get();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; threadLocal.set(null);</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (session != null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-size: 10pt;" twffan="done">&nbsp;&nbsp;&nbsp; /**<br />
&nbsp;&nbsp;&nbsp;&nbsp; * Default constructor.<br />
&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp; private HibernateSessionFactory() {<br />
&nbsp;&nbsp;&nbsp; }</span></p>
<p><span style="font-size: 10pt;" twffan="done">}<br />
<font size="3">Card.hbm.xml</font><br />
</span></p>
<span style="font-size: 10pt;" twffan="done">&lt;?xml version="1.0"?&gt;<br />
&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&gt;<br />
&lt;!-- <br />
&nbsp;&nbsp;&nbsp; Mapping file autogenerated by MyEclipse - Hibernate Tools<br />
--&gt;<br />
&lt;hibernate-mapping&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;class name="com.gpdi.test.Card" table="CARD_TEST"&gt;<br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id name="cardid" type="integer"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="CARDID" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;generator class="foreign" &gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="property"&gt;user&lt;/param&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/generator&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/id&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="cardnum" type="string"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="CARDNUM" length="45" not-null="true" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreign-key="userid"指定外键关联的字段,必须,不可缺少 ,cascade="save-update"指定怎么操作级联,非必须<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;one-to-one name="user" foreign-key="userid" class="com.gpdi.test.User" cascade="save-update"&gt;&lt;/one-to-one&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/class&gt;<br />
&lt;/hibernate-mapping&gt;<br />
<br />
<font size="3">User.hbm.xml</font><br />
</span><span style="font-size: 10pt;" twffan="done">&lt;?xml version="1.0"?&gt;<br />
&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&gt;<br />
&lt;!-- <br />
&nbsp;&nbsp;&nbsp; Mapping file autogenerated by MyEclipse - Hibernate Tools<br />
--&gt;<br />
&lt;hibernate-mapping&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;class name="com.gpdi.test.User" table="USER_TEST"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;id name="userid" type="integer"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="USERID" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;generator class="increment"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/id&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="username" type="string"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="username" length="45" not-null="true" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;one-to-one name="card" foreign-key="cardid" class="com.gpdi.test.Card" cascade="save-update"&gt;&lt;/one-to-one&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!--<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;set name="card" inverse="true" cascade="all"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;key column="cardid" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;one-to-many class="com.gpdi.test.Card" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/set&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;many-to-one&nbsp; name="card" class="com.gpdi.test.Card"&nbsp; insert="true" unique="true" lazy="false"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;column name="cardid"&nbsp; length="18"&nbsp; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/many-to-one&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; &lt;/class&gt;<br />
&lt;/hibernate-mapping&gt;<br />
</span><a href="/Files/1504/one-to--one.rar">http://www.blogjava.net/Files/1504/one-to--one.rar</a><br />
<img src ="http://www.blogjava.net/1504/aggbug/256097.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:38 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256097.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate一对多双向关联及inverse的作用[整理总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256095.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:36:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256095.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256095.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256095.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256095.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256095.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;" twffan="done"><a href="/Files/1504/Hibernate-onetomany.txt">http://www.blogjava.net/Files/1504/Hibernate-onetomany.txt</a>一个一对多的完整例子:资料来源网络,进行整理.<br />
people表：{peopleId,name}<br />
<br />
address表：{addressId,peopleId,addressName,codeNumber}<br />
<br />
</span>
<p><span style="font-size: 10pt;" twffan="done">package com.gpdi.test;</span></p>
<p><span style="font-size: 10pt;" twffan="done">import org.hibernate.Session;</span></p>
<p><span style="font-size: 10pt;" twffan="done">import com.gpdi.orm.object.Address;<br />
import com.gpdi.orm.object.People;</span></p>
<p><span style="font-size: 10pt;" twffan="done">public class Testp {</span></p>
<p><span style="font-size: 10pt;" twffan="done">&#160;/**<br />
&#160; * @param args<br />
&#160; */<br />
&#160;public static void main(String[] args) <br />
&#160;{<br />
&#160;&#160;People people = new People(); <br />
&#160;&#160;people.setName("linda"); <br />
&#160;&#160;Address address = new Address(); <br />
&#160;&#160;address.setAddressName("yunnan"); <br />
&#160;&#160;address.setCodeNumber("564123"); <br />
&#160;&#160;address.setPeople(people); <br />
&#160;&#160;people.getAddresses().add(address); <br />
&#160;&#160;Session session = HibernateSessionFactory.currentSession(); <br />
&#160;&#160;session.beginTransaction(); <br />
&#160;&#160;session.save(people); <br />
&#160;&#160;session.getTransaction().commit(); </span></p>
<p><span style="font-size: 10pt;" twffan="done">&#160;}</span></p>
<p><span style="font-size: 10pt;" twffan="done">}<br />
</span></p>
<span style="font-size: 10pt;" twffan="done"><font size="3">People</font>.hbm.xml<br />
</span>
<p><span style="font-size: 10pt;" twffan="done">&lt;?xml version="1.0" encoding="utf-8"?><br />
&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><br />
&lt;!-- <br />
&#160;&#160;&#160; Mapping file autogenerated by MyEclipse - Hibernate Tools<br />
--><br />
&lt;hibernate-mapping><br />
&#160;&#160;&#160; &lt;class name="com.gpdi.orm.object.People" table="People"><br />
&#160;&#160;&lt;id name="id" column="peopleId" unsaved-value="0" > <br />
&#160;&#160;&lt;generator class="increment"> <br />
&#160;&#160;&lt;/generator> <br />
&#160;&#160;&lt;/id> <br />
&#160;&#160;&lt;property name="name" column="name">&lt;/property> <br />
&#160;&#160;&lt;set name="addresses" cascade="save-update"><br />
&#160;&#160;&lt;key column="peopleId" not-null="true" /><br />
&#160;&#160;&lt;one-to-many class="com.gpdi.orm.object.Address"/><br />
&#160;&#160;&lt;/set> </span></p>
<p><span style="font-size: 10pt;" twffan="done">&#160;&#160;&#160; &lt;/class><br />
&lt;/hibernate-mapping><br />
</span></p>
<span style="font-size: 10pt;" twffan="done"><font size="3">People</font>.java<br />
</span>
<p><span style="font-size: 10pt;" twffan="done">package com.gpdi.orm.object;</span></p>
<p><span style="font-size: 10pt;" twffan="done">import java.util.HashSet;<br />
import java.util.Set;</span></p>
<p><span style="font-size: 10pt;" twffan="done">public class People implements java.io.Serializable<br />
{ <br />
&#160;private long id; <br />
&#160;private String name; <br />
&#160;private Set addresses = new HashSet();<br />
&#160;public Set getAddresses() {<br />
&#160;&#160;return addresses;<br />
&#160;}<br />
&#160;public void setAddresses(Set addresses) {<br />
&#160;&#160;this.addresses = addresses;<br />
&#160;}<br />
&#160;public long getId() {<br />
&#160;&#160;return id;<br />
&#160;}<br />
&#160;public void setId(long id) {<br />
&#160;&#160;this.id = id;<br />
&#160;}<br />
&#160;public String getName() {<br />
&#160;&#160;return name;<br />
&#160;}<br />
&#160;public void setName(String name) {<br />
&#160;&#160;this.name = name;<br />
&#160;} </span></p>
<p><span style="font-size: 10pt;" twffan="done">}<br />
</span></p>
<span style="font-size: 10pt;" twffan="done"><font size="3">Address</font>.hbm.xml<br />
</span><span style="font-size: 10pt;" twffan="done"><font size="3"><span style="font-size: 10pt;" twffan="done"><span twffan="done"><font style="font-size: 10pt;" size="3">&lt;?xml version="1.0" encoding="utf-8"?><br />
&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<br />
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><br />
&lt;!-- <br />
&#160;&#160;&#160; Mapping file autogenerated by MyEclipse - Hibernate Tools<br />
--><br />
&lt;hibernate-mapping><br />
&#160;&#160;&#160; &lt;class name="com.gpdi.orm.object.Address" table="Address"><br />
&#160;&lt;id name="id" column="addressId" unsaved-value="0"><br />
&#160;&lt;generator class="increment"><br />
&#160;&lt;/generator><br />
&#160;&lt;/id> <br />
&#160;&lt;many-to-one name="people" column="peopleId" insert="false" update="false">&lt;/many-to-one> <br />
&#160;&lt;property name="addressName" column="addressName">&lt;/property> <br />
&#160;&lt;property name="codeNumber" column="codeNumber">&lt;/property> <br />
&#160;&#160;&#160; &lt;/class><br />
&lt;/hibernate-mapping></font></span></span><br />
</font><font size="3">Address</font>.java<br />
</span><span style="font-size: 10pt;" twffan="done">package com.gpdi.orm.object;<br />
public class Address implements java.io.Serializable<br />
{ <br />
&#160;private long id; <br />
&#160;private People people; <br />
&#160;private String addressName; <br />
&#160;private String codeNumber;<br />
&#160;public String getAddressName() {<br />
&#160;&#160;return addressName;<br />
&#160;}<br />
&#160;public void setAddressName(String addressName) {<br />
&#160;&#160;this.addressName = addressName;<br />
&#160;}<br />
&#160;public String getCodeNumber() {<br />
&#160;&#160;return codeNumber;<br />
&#160;}<br />
&#160;public void setCodeNumber(String codeNumber) {<br />
&#160;&#160;this.codeNumber = codeNumber;<br />
&#160;}<br />
&#160;public long getId() {<br />
&#160;&#160;return id;<br />
&#160;}<br />
&#160;public void setId(long id) {<br />
&#160;&#160;this.id = id;<br />
&#160;}<br />
&#160;public People getPeople() {<br />
&#160;&#160;return people;<br />
&#160;}<br />
&#160;public void setPeople(People people) {<br />
&#160;&#160;this.people = people;<br />
&#160;} <br />
}<br />
</span><span style="font-size: 10pt;" twffan="done">下载例子:整理后<br />
<a href="/Files/1504/one-to-many.rar">一对多的完整例子</a><br />
下载例子:整理前<br />
<a title="文本形式" href="http://www.cnweblog.com/Files/nm1504/Hibernate-onetomany.txt"></a></span><br />
<img src ="http://www.blogjava.net/1504/aggbug/256095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:36 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX和Struts的action交互使用[原创总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256094.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:34:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256094.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256094.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256094.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256094.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256094.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;">1.请求页面的JS,客户端实现<br />
&lt;script type="text/javascript"><br />
&#160;var flagvalue=0;<br />
&#160;var rest="";<br />
&#160;var resta="";<br />
&#160;//实现AJAX验证<br />
&#160;var http_request = false;<br />
&#160;var infoForm_flag=false;<br />
&#160;var lotId="";<br />
function Save()<br />
{<br />
&#160;&#160;&#160; <br />
&#160;&#160;&#160;&#160;&#160; var infoForm=document.projectSetForm;<br />
&#160;&#160;&#160;&#160;&#160; infoForm_flag=infoForm;<br />
&#160;&#160;&#160;&#160;&#160; lotId=infoForm.lotId.value;<br />
&#160;&#160;&#160;&#160;&#160; //表名称<br />
&#160;&#160;&#160;&#160;&#160; var dc = infoForm.tablename.value;<br />
&#160;&#160;&#160;&#160;&#160; if(dc==""||dc==null){<br />
&#160;&#160;&#160;&#160;&#160;&#160; alert("表名称不能为空!");<br />
&#160;&#160;&#160;&#160;&#160;&#160; infoForm.tablename.focus(); <br />
&#160;&#160;&#160;&#160;&#160;&#160; infoForm.tablename.select();<br />
&#160;&#160;&#160;&#160;&#160;&#160; return false;<br />
&#160;}<br />
function send_request(url)<br />
&#160; {//初始化、指定处理函数、发送请求的函数<br />
&#160;&#160;&#160; http_request = false;<br />
&#160;&#160;&#160; //开始初始化XMLHttpRequest对象<br />
&#160;&#160;&#160; if(window.XMLHttpRequest) <br />
&#160;&#160;&#160; { //Mozilla 浏览器<br />
&#160;&#160;&#160;&#160;&#160; http_request = new XMLHttpRequest();<br />
&#160;&#160;&#160;&#160;&#160; if (http_request.overrideMimeType) <br />
&#160;&#160;&#160;&#160;&#160; {//设置MiME类别<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; http_request.overrideMimeType('text/xml');<br />
&#160;&#160;&#160;&#160;&#160; }<br />
&#160;&#160;&#160; }<br />
&#160;&#160;&#160; else if (window.ActiveXObject) <br />
&#160;&#160;&#160; { // IE浏览器<br />
&#160;&#160;&#160;&#160;&#160; try <br />
&#160;&#160;&#160;&#160;&#160; {<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; http_request = new ActiveXObject("Msxml2.XMLHTTP");<br />
&#160;&#160;&#160;&#160;&#160; }<br />
&#160;&#160;&#160;&#160;&#160;&#160; catch (e) <br />
&#160;&#160;&#160;&#160;&#160; {<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; try <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; http_request = new ActiveXObject("Microsoft.XMLHTTP");<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; catch (e) <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
&#160;&#160;&#160;&#160;&#160; }<br />
&#160;&#160;&#160; }<br />
&#160;&#160;&#160; if (!http_request) { // 异常，创建对象实例失败<br />
&#160;&#160;&#160;&#160; window.alert("不能创建XMLHttpRequest对象实例.");<br />
&#160;&#160;&#160;&#160; return false;<br />
&#160;&#160;&#160; }<br />
&#160;&#160;&#160; http_request.onreadystatechange = processRequest;<br />
&#160;&#160;&#160; // 确定发送请求的方式和URL以及是否同步执行下段代码<br />
&#160;&#160;&#160; http_request.open("GET", url, true);<br />
&#160;&#160;&#160; http_request.send(null);<br />
&#160; }<br />
&#160;&#160;&#160;&#160; //处理返回信息的函数<br />
&#160;&#160;&#160;&#160; function processRequest() <br />
&#160;&#160;&#160;&#160; {<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (http_request.readyState == 4) <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //判断对象状态<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (http_request.status == 200) <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //信息已经成功返回，开始处理信息<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var str=http_request.responseText;//获得从服务器返回的文本信息<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(str=="no")<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; alert("您选择了模型分属不同的模板,请选择同一模板对应是模型!");<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //return false;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; infoForm_flag.action="projectSet.do?do=add&amp;lotId="+lotId;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; infoForm_flag.submit();<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; else<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; infoForm_flag.action="projectSet.do?do=creattable&amp;save=-1";<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; infoForm_flag.submit();<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } else <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //页面不正常<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; alert("您所请求的页面有异常。");<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }<br />
&#160;&#160;&#160;&#160; }<br />
&#160; function userCheck() <br />
&#160; {<br />
&#160;&#160;&#160; send_request('projectSet.do?do=check&amp;rest='+rest); <br />
&#160; }<br />
&lt;/script><br />
2.ProjectSetAction.java</span>
<p><span style="font-size: 10pt;">package com.gpdi.softevaluate.action;</span></p>
<p><span style="font-size: 10pt;">import java.io.PrintWriter;<br />
import java.text.SimpleDateFormat;<br />
import java.util.ArrayList;<br />
import java.util.Calendar;<br />
import java.util.HashSet;<br />
import java.util.Map;<br />
import java.util.Set;</span></p>
<p><span style="font-size: 10pt;">import java.util.Iterator;<br />
import java.util.List;</span></p>
<p><span style="font-size: 10pt;">import javax.servlet.http.HttpServletRequest;<br />
import javax.servlet.http.HttpServletResponse;</span></p>
<p><span style="font-size: 10pt;">public class ProjectSetAction extends DispatchAction <br />
{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span></p>
<p><span style="font-size: 10pt;">/**<br />
&#160; * &lt;p>模板验证&lt;/p><br />
&#160; * @param mapping<br />
&#160; * @param form<br />
&#160; * @param request<br />
&#160; * @param response<br />
&#160; * @return<br />
&#160; * @throws Exception<br />
&#160; */<br />
&#160;public ActionForward check(ActionMapping mapping, ActionForm
form,HttpServletRequest request, HttpServletResponse response)throws
Exception<br />
&#160;{<br />
&#160;&#160; String rest="";<br />
&#160;&#160; String lotId="";<br />
&#160;&#160; String retn="";<br />
&#160;&#160; String flag="";<br />
&#160;&#160; CommDaoFactory mgObj = new CommDaoFactory();<br />
&#160;&#160; try<br />
&#160;&#160; {<br />
&#160;&#160;&#160;&#160;&#160;&#160; rest=request.getParameter("rest");<br />
&#160;&#160;&#160;&#160;&#160;&#160; lotId=request.getParameter("lotId");<br />
&#160;&#160; }<br />
&#160;&#160; catch(Exception e)<br />
&#160;&#160; {<br />
&#160;&#160;&#160; <br />
&#160;&#160; }<br />
if(!rest.equals("0")||!rest.equals("")||rest!=null)<br />
&#160;{<br />
&#160;&#160;&#160;&#160; flag="no";<br />
}<br />
else<br />
{<br />
&#160;&#160;&#160;&#160;&#160; flag="ok";</span></p>
<p><span style="font-size: 10pt;">}<br />
&#160;&#160;&#160;&#160;&#160;&#160; PrintWriter out=response.getWriter();<br />
//服务器返回信息<br />
&#160;&#160;&#160;&#160;&#160;&#160; out.write(flag);<br />
&#160;&#160;&#160;&#160;&#160;&#160; out.close();<br />
&#160;&#160;&#160;&#160; //读取本Action所有的请求参数，将path重新构造，加上请求参数</span></p>
<p><span style="font-size: 10pt;">&#160;&#160;&#160;&#160; //ActionForward forward= new ActionForward("project/projectSet.do?do=add&amp;lotId=6");<br />
&#160;&#160;&#160;&#160; //forward.setRedirect(true);<br />
&#160;&#160;&#160;&#160;&#160; //传参数后返回<br />
&#160;&#160;&#160;&#160; //return forward;&#160;&#160;&#160;&#160; <br />
&#160;&#160;&#160; return mapping.findForward(null);<br />
&#160;<br />
&#160;}<br />
</span><font size="3"><font style="font-size: 10pt;" size="3">public
ActionForward creattable(ActionMapping mapping, ActionForm
form,HttpServletRequest request, HttpServletResponse response)throws
Exception<br />
{<br />
&#160;&#160;&#160;&#160; //实现功能代码<br />
return mapping.findForward("create");<br />
}</font><br />
<span style="font-size: 10pt;">}<br />
3.struts.config.xml<br />
<font style="font-size: 10pt;" size="3">&#160;&lt;action attribute="projectSetForm" name="projectSetForm"<br />
&#160;&#160;&#160;&#160;parameter="do" path="/project/projectSet" scope="request"<br />
&#160;&#160;&#160;&#160;&#160;&#160; type="com.gpdi.softevaluate.action.ProjectSetAction" validate="false"><br />
&#160;&#160;&#160;&lt;forward name="list" path="/project/viewProject.jsp" /><br />
&#160;&#160;&#160;&lt;forward name="add" path="/project/addProject.jsp" /><br />
&#160;&#160;&#160;&lt;forward name="create" path="/project/createTable.jsp" /><br />
&#160;&#160;&lt;/action></font></span></font></p>
<img src ="http://www.blogjava.net/1504/aggbug/256094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:34 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>去掉数组中重复的数字[原创]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256093.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:32:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256093.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256093.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256093.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256093.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256093.html</trackback:ping><description><![CDATA[<font style="font-size: 8pt;" size="3">public static ArrayList RemoveRepeatNumber(String[]input)<br />
&nbsp;{<br />
&nbsp;&nbsp;&nbsp; ArrayList&nbsp;&nbsp; arraylist=new&nbsp;&nbsp; ArrayList();&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; int k=0;<br />
&nbsp;&nbsp;&nbsp; for(int i = 0;i&lt;input.length;i++)&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; boolean exist=true;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; for(int j=0;j&lt;arraylist.size();j++)&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(arraylist.get(j).toString().equals(input[i]) )&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exist=false;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; if(exist)<br />
&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arraylist.add(k,input[i]);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; k+=1;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }&nbsp; <br />
&nbsp;&nbsp;&nbsp; return arraylist;<br />
&nbsp;}<br />
&nbsp;public static void main(String[]args)<br />
&nbsp;{<br />
&nbsp; String []st={"30","30","29"};<br />
&nbsp; ArrayList str =RemoveRepeatNumber(st);<br />
&nbsp; for(int i=0;i&lt;str.size();i++)<br />
&nbsp; {<br />
&nbsp;&nbsp; System.out.println(str.get(i));<br />
&nbsp; }<br />
&nbsp;} </font>
<img src ="http://www.blogjava.net/1504/aggbug/256093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:32 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>判断数组中是否有重复是数字[原创]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256092.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:32:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256092.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256092.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256092.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256092.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256092.html</trackback:ping><description><![CDATA[<font style="font-size: 8pt;" size="3">public static boolean judgeEqual(String[]model)<br />
&nbsp;{<br />
&nbsp;&nbsp;/**无重复为false,有重复为true*/<br />
&nbsp;&nbsp;boolean flag=false;<br />
&nbsp;&nbsp;Set&nbsp; set&nbsp; =&nbsp; new&nbsp; HashSet();&nbsp; <br />
&nbsp;&nbsp;for(int&nbsp; i&nbsp; =&nbsp; 0;i&lt;model.length;i++)<br />
&nbsp;&nbsp;{&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; if(!model[0].equals(model[i]))<br />
&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag=false; <br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag=true;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;}&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;return flag;<br />
&nbsp;}<br />
<font size="3">&nbsp;public static void main(String[]args)<br />
&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String[] s&nbsp; = {"1","1","1","1","1"};&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(judgeEqual(s));<br />
&nbsp;}</font></font>
<img src ="http://www.blogjava.net/1504/aggbug/256092.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:32 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256092.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>checkbox多选[总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256090.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:27:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256090.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256090.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256090.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256090.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256090.html</trackback:ping><description><![CDATA[<p><span style="font-size: 8pt;" twffan="done">1.<br />
&lt;td width="5%" class=content&gt;&lt;div
align="center"&gt;全选&lt;input type=checkbox name = "check" onclick =
"javascript:allcheck();"&gt;&lt;/div&gt;&lt;/td&gt; <br />
2.&nbsp;&nbsp;&nbsp; <br />
&nbsp;&lt;td width=5%&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div align="center"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="checkbox" name="checkboxDelete"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value="&lt;bean:write name="po" property="projectid" /&gt;"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;</span></p>
<p><span style="font-size: 8pt;" twffan="done">js代码:<br />
&nbsp;&lt;script language="javascript"&gt;<br />
&nbsp;var tag = false; <br />
function doDelete()<br />
{<br />
&nbsp;if(deletecheck())<br />
&nbsp;{ <br />
&nbsp;&nbsp;&nbsp;&nbsp; var theForm=document.projectSetForm;<br />
&nbsp; theForm.action = "projectSet.do?do=delete&amp;lotId=&lt;%=request.getParameter("lotId") %&gt;";<br />
&nbsp; theForm.submit();<br />
&nbsp;<br />
&nbsp;}<br />
}<br />
function deletecheck()<br />
{<br />
&nbsp;var theForm = document.projectSetForm;<br />
&nbsp;var checked = false;<br />
&nbsp;if(typeof(theForm.checkboxDelete.length)=="undefined"){<br />
&nbsp; if(theForm.checkboxDelete.checked == true){<br />
&nbsp; checked = true;<br />
&nbsp; }<br />
&nbsp;}else{<br />
&nbsp;var len = theForm.checkboxDelete.length;<br />
&nbsp;for (var i=0;i&lt;len;i++){<br />
&nbsp; if(theForm.checkboxDelete[i].checked == true){<br />
&nbsp; checked = true;<br />
&nbsp; break;<br />
&nbsp; }<br />
&nbsp;&nbsp; }<br />
&nbsp;}<br />
&nbsp;if(!checked){<br />
&nbsp;alert("请至少选择一条要删除的记录！")<br />
&nbsp;return(false);<br />
&nbsp;}<br />
&nbsp;<br />
&nbsp;if(confirm("确定要删除吗？")){<br />
&nbsp; return(true);<br />
&nbsp; }<br />
&nbsp;return(false); <br />
}<br />
function allcheck(){<br />
&nbsp;var theForm = document.projectSetForm;<br />
&nbsp;var len = theForm.checkboxDelete.length;<br />
&nbsp;var i = 0<br />
&nbsp;if (tag == false)<br />
&nbsp; for (i=0;i&lt;len;i++){<br />
&nbsp;&nbsp; theForm.checkboxDelete[i].checked = true;<br />
&nbsp;&nbsp; tag = true;<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; <br />
&nbsp;else{<br />
&nbsp; for ( i=0;i&lt;len;i++){<br />
&nbsp;&nbsp; theForm.checkboxDelete[i].checked = false;<br />
&nbsp;&nbsp; tag = false;<br />
&nbsp; }<br />
&nbsp;}<br />
} <br />
&lt;/script&gt;</span></p>
<img src ="http://www.blogjava.net/1504/aggbug/256090.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:27 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256090.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP实现EXCEL导出[总结原创]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256089.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:27:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256089.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256089.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256089.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256089.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256089.html</trackback:ping><description><![CDATA[<p><span style="font-size: 8pt;">1.JSP页面<br />
&lt;td width=165&gt;<br />
&lt;div align="left"&gt;<br />
&lt;!-- 添加&nbsp; 2008-04-11 16:42 --&gt;<br />
&lt;bean:define id="scoreId" name='Info' property='scoreId' /&gt;&nbsp;<br />
&lt;a href="scoreSet.do?do=importScore&amp;scoreid=&lt;%=scoreId%&gt;" target="scoreexel"&gt;统计导出&lt;/a&gt;&nbsp;<br />
&lt;!--<br />
&lt;html:link action="softevaluate/scoreSet.do?do=setScore" paramName="Info" paramProperty="scoreId" paramId="scoreId"&gt;<br />
参数设置<br />
&lt;/html:link&gt;<br />
&lt;!--&nbsp;<br />
&lt;a href="scoreOperation.do?do=scoreSetE&amp;scoreid=&lt;%=scoreId%&gt;" target="scoreexel"&gt;统计导出&lt;/a&gt;&nbsp;&nbsp;&nbsp;<br />
&lt;a href="scoreOperation.do?do=scoreSetE&amp;scoreid=&lt;%=scoreId%&gt;"&gt;统计导出&lt;/a&gt;<br />
&lt;a href="softevaluate/scoreSet.do?do=setScore"&gt;统计导出&lt;/a&gt;<br />
--&gt;<br />
&lt;/div&gt;<br />
&lt;/td&gt;&nbsp;<br />
2.ScoreSetAction.java<br />
public class ScoreSetAction extends DispatchAction <br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /******实现EXCEL数据导出*******/<br />
&nbsp; public ActionForward importScore(ActionMapping mapping, ActionForm
form,HttpServletRequest request,HttpServletResponse response)throws
Exception <br />
&nbsp; {<br />
&nbsp; <br />
&nbsp;&nbsp; // 导出数据类型，此处是写死的为3。<br />
&nbsp;&nbsp; String scoreid = request.getParameter("scoreid");<br />
&nbsp;&nbsp; String []str=new String[3];<br />
&nbsp;&nbsp; scoreid=scoreid.replace("/", "");<br />
&nbsp;&nbsp; String maxscore = "";<br />
&nbsp;&nbsp; String minscore = "";</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp; ScoreSetExport scoreSetExport = new ScoreSetExport();<br />
&nbsp;&nbsp; LinkedHashMap hm = new LinkedHashMap();<br />
&nbsp;&nbsp; SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();<br />
&nbsp;&nbsp; org.hibernate.classic.Session session = sessionFactory.openSession();<br />
&nbsp;&nbsp; Query query =session.createQuery("from ScoreViable");<br />
&nbsp;&nbsp; List users=query.list(); <br />
&nbsp;&nbsp; session.close();<br />
&nbsp;&nbsp; sessionFactory.close();<br />
&nbsp;&nbsp; for (ListIterator iterator = users.listIterator(); iterator.hasNext(); ) <br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; ScoreViable user = (ScoreViable) iterator.next();<br />
&nbsp;&nbsp;&nbsp; System.out.println(user.getBeforCount() +"\n\tAge: " + user.getEndCount());<br />
&nbsp;&nbsp;&nbsp; maxscore=user.getBeforCount()+"";<br />
&nbsp;&nbsp;&nbsp; minscore=user.getEndCount()+"";<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; str[0]=scoreid;<br />
&nbsp;&nbsp; str[1]=maxscore;<br />
&nbsp;&nbsp; str[2]=minscore;<br />
&nbsp;&nbsp; List&lt;ScoreRecordDetail&gt; list = scoreSetExport.exportScoreSet(str,hm);<br />
&nbsp;&nbsp; ExcelManagerIf eem = ExcelManagerFactory.getInstance();<br />
&nbsp;&nbsp; /******************************************************************/<br />
&nbsp;&nbsp; /**不去掉一行仍然调用export,去掉一行调用export1,只针对一种汇总导出*/<br />
&nbsp;&nbsp; //eem.export(response, list,hm);<br />
&nbsp;&nbsp; eem.export1(response, list,hm);<br />
&nbsp;&nbsp; /******************************************************************/<br />
&nbsp;&nbsp; return null;<br />
&nbsp; }<br />
}<br />
3.ExcelManagerIf.java<br />
import java.io.InputStream;<br />
import java.util.HashMap;<br />
import java.util.LinkedHashMap;<br />
import java.util.List;</span></p>
<p><span style="font-size: 8pt;">import javax.servlet.http.HttpServletResponse;</span></p>
<p><span style="font-size: 8pt;">import com.gpdi.orm.object.ScoreRecordDetail;</span></p>
<p><span style="font-size: 8pt;">public interface ExcelManagerIf <br />
{<br />
&nbsp;<br />
&nbsp;/********************************************************************************************************/<br />
&nbsp;/** 2008-04-18 11:54*/<br />
&nbsp;public boolean export1(HttpServletResponse response, List&lt;ScoreRecordDetail&gt; list,LinkedHashMap hashMap);<br />
&nbsp;/********************************************************************************************************/<br />
&nbsp;<br />
}<br />
4.ExcelManagerFactory.java<br />
public class ExcelManagerFactory<br />
&nbsp;{<br />
&nbsp;&nbsp; private static String key = "key";<br />
&nbsp;&nbsp; private ExcelManagerFactory() {<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; private static ExcelManagerIf instance = null;<br />
&nbsp;&nbsp; public static ExcelManagerIf getInstance(){<br />
&nbsp;&nbsp;&nbsp; if(instance == null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; synchronized(key){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(instance == null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; instance = new ExcelManagerImpl();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return instance;<br />
&nbsp;&nbsp; }<br />
}<br />
5.ExcelManagerImpl.java<br />
import javax.servlet.http.HttpServletResponse;</span></p>
<p><span style="font-size: 8pt;">import org.apache.poi.hssf.usermodel.HSSFCell;<br />
import org.apache.poi.hssf.usermodel.HSSFCellStyle;<br />
import org.apache.poi.hssf.usermodel.HSSFDataFormat;<br />
import org.apache.poi.hssf.usermodel.HSSFFont;<br />
import org.apache.poi.hssf.usermodel.HSSFFooter;<br />
import org.apache.poi.hssf.usermodel.HSSFHeader;<br />
import org.apache.poi.hssf.usermodel.HSSFPalette;<br />
import org.apache.poi.hssf.usermodel.HSSFPrintSetup;<br />
import org.apache.poi.hssf.usermodel.HSSFRow;<br />
import org.apache.poi.hssf.usermodel.HSSFSheet;<br />
import org.apache.poi.hssf.usermodel.HSSFWorkbook;<br />
import org.apache.poi.hssf.util.HSSFColor;<br />
import org.apache.poi.hssf.util.Region;<br />
import org.hibernate.Query;<br />
import org.hibernate.ScrollableResults;<br />
import org.hibernate.Session;</span></p>
<p><span style="font-size: 8pt;">&nbsp;</span></p>
<p><span style="font-size: 8pt;">public class ExcelManagerImpl implements ExcelManagerIf <br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /***************************************************************************************************************/<br />
/**2008-04-18 11:36&nbsp;&nbsp; 汇总导出去掉无用的空格*/<br />
&nbsp;public boolean export1(HttpServletResponse response, List&lt;ScoreRecordDetail&gt; list,LinkedHashMap hashMap) {<br />
&nbsp;&nbsp;Session session = null;<br />
&nbsp;&nbsp;try {<br />
&nbsp;&nbsp;&nbsp;// 生成电子表格文件<br />
&nbsp;&nbsp;&nbsp;HSSFWorkbook wb = new HSSFWorkbook();<br />
&nbsp;&nbsp;&nbsp;// 通过先建立表格，后命名可以定义使用的编码，从而保证汉字的正常显示<br />
&nbsp;&nbsp;&nbsp;HSSFSheet sheet1 = wb.createSheet();<br />
&nbsp;&nbsp;&nbsp;/********************************************/<br />
&nbsp;&nbsp;&nbsp;/**添加 2008-04-15导出打印默认方式,true：横向&nbsp;&nbsp;&nbsp;&nbsp; false：纵向*/<br />
&nbsp;&nbsp;&nbsp;sheet1.getPrintSetup().setLandscape(true);&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;/********************************************/<br />
&nbsp;&nbsp;&nbsp;sheet1.setColumnWidth((short) 0, (short) 5000);<br />
&nbsp;&nbsp;&nbsp;sheet1.setColumnWidth((short) 1, (short) 5000);<br />
&nbsp;&nbsp;&nbsp;sheet1.setColumnWidth((short) 2, (short) 5000);<br />
&nbsp;&nbsp;&nbsp;sheet1.setColumnWidth((short) 3, (short) 5000);<br />
&nbsp;&nbsp;&nbsp;// wb.setSheetName(0, "开发商资料",HSSFWorkbook.ENCODING_UTF_16);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;// HSSFRow row;</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;// 先定义一个字体对象<br />
&nbsp;&nbsp;&nbsp;HSSFFont font = wb.createFont();<br />
&nbsp;&nbsp;&nbsp;font.setFontName("宋体");<br />
&nbsp;&nbsp;&nbsp;font.setFontHeightInPoints((short) 16);// 字体大小<br />
&nbsp;&nbsp;&nbsp;font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 加粗</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;// 定义表头单元格格式<br />
&nbsp;&nbsp;&nbsp;HSSFCellStyle cellStyle = wb.createCellStyle();<br />
&nbsp;&nbsp;&nbsp;cellStyle.setFont(font);// 单元格字体<br />
&nbsp;&nbsp;&nbsp;cellStyle.setBorderBottom(cellStyle.BORDER_THIN);// 单元格边框<br />
&nbsp;&nbsp;&nbsp;cellStyle.setBorderTop(cellStyle.BORDER_THIN);<br />
&nbsp;&nbsp;&nbsp;cellStyle.setBorderRight(cellStyle.BORDER_THIN);<br />
&nbsp;&nbsp;&nbsp;cellStyle.setBorderLeft(cellStyle.BORDER_THIN);<br />
&nbsp;&nbsp;&nbsp;cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平对齐方式</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;// 定义新的调色板以便定义自己的颜色<br />
&nbsp;&nbsp;&nbsp;HSSFPalette palette = wb.getCustomPalette();<br />
&nbsp;&nbsp;&nbsp;// 替换一个默认调色板中已经定义的颜色<br />
&nbsp;&nbsp;&nbsp;palette.setColorAtIndex(HSSFColor.BLUE_GREY.index, (byte) 230, (byte) 230, (byte) 255);<br />
&nbsp;&nbsp;&nbsp;// 使用刚才定义的颜色为填充色<br />
&nbsp;&nbsp;&nbsp;cellStyle.setFillForegroundColor(HSSFColor.BLUE_GREY.index);<br />
&nbsp;&nbsp;&nbsp;cellStyle.setFillPattern((short) HSSFCellStyle.SOLID_FOREGROUND);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;// 写入表头<br />
&nbsp;&nbsp;&nbsp;HSSFCell c;</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;// String[] headerName = (String[]) aHeaderName.get(type);<br />
&nbsp;&nbsp;&nbsp;int[] maxLen = new int[4];<br />
&nbsp;&nbsp;&nbsp;int maxCol = list.size() + 3;<br />
&nbsp;&nbsp;&nbsp;ScoreRecordDetail first = list.get(0);<br />
&nbsp;&nbsp;&nbsp;Long scoreId = first.getScoreRecord().getScoreid();</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;session = HibernateSessionFactory.getCurrentSession();</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;ScoreSet scoreSet = (ScoreSet) session.createQuery("from ScoreSet where scoreid = :scoreid").setLong("scoreid",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scoreId).uniqueResult();<br />
&nbsp;&nbsp;&nbsp;String titleName = scoreSet.getScoreLot().getLotName() + "-" + scoreSet.getScoreModel().getScoremodelname();<br />
&nbsp;&nbsp;&nbsp;//输出文件名落孙山<br />
&nbsp;&nbsp;&nbsp;String outFileName = scoreSet.getScoreModel().getScoremodelname();</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;// 在表单中新建0行<br />
&nbsp;&nbsp;&nbsp;HSSFRow row0 = sheet1.createRow((short) 0);<br />
&nbsp;&nbsp;&nbsp;row0.setHeight((short) 600);<br />
&nbsp;&nbsp;&nbsp;c = row0.createCell((short) 0);<br />
&nbsp;&nbsp;&nbsp;HSSFCellStyle cellStyle0 = wb.createCellStyle();<br />
&nbsp;&nbsp;&nbsp;cellStyle0.setFont(font);// 单元格字体0<br />
&nbsp;&nbsp;&nbsp;cellStyle0.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平对齐方式<br />
&nbsp;&nbsp;&nbsp;cellStyle0.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;cellStyle0.setBorderBottom(cellStyle.BORDER_THIN);// 单元格边框<br />
&nbsp;&nbsp;&nbsp;cellStyle0.setBorderTop(cellStyle.BORDER_THIN);<br />
&nbsp;&nbsp;&nbsp;cellStyle0.setBorderRight(cellStyle.BORDER_THIN);<br />
&nbsp;&nbsp;&nbsp;cellStyle0.setBorderLeft(cellStyle.BORDER_THIN);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle0);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;c.setCellValue(titleName);// 单元格值<br />
&nbsp;&nbsp;&nbsp;sheet1.addMergedRegion(new Region(0, (short) 0, 0, (short) (maxCol-1)));</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;// 在表单中新建1行<br />
&nbsp;&nbsp;&nbsp;/**<br />
&nbsp;&nbsp;&nbsp;HSSFRow row1 = sheet1.createRow((short) 1);<br />
&nbsp;&nbsp;&nbsp;row1.setHeight((short) 700);<br />
&nbsp;&nbsp;&nbsp;c = row1.createCell((short) 0);<br />
&nbsp;&nbsp;&nbsp;HSSFCellStyle cellStyle1 = wb.createCellStyle();<br />
&nbsp;&nbsp;&nbsp;cellStyle1.setAlignment(HSSFCellStyle.ALIGN_LEFT); // 水平对齐方式<br />
&nbsp;&nbsp;&nbsp;cellStyle1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;cellStyle1.setBorderBottom(cellStyle.BORDER_THIN);// 单元格边框<br />
&nbsp;&nbsp;&nbsp;cellStyle1.setBorderTop(cellStyle.BORDER_THIN);<br />
&nbsp;&nbsp;&nbsp;cellStyle1.setBorderRight(cellStyle.BORDER_THIN);<br />
&nbsp;&nbsp;&nbsp;cellStyle1.setBorderLeft(cellStyle.BORDER_THIN);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle1);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;c.setCellValue("评标专家签字：");// 单元格值</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;c = row1.createCell((short) 1);<br />
&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle1);// 单元格的样式</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;c = row1.createCell((short) 2);<br />
&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle1);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;c.setCellValue("日期：");// 单元格值</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;c = row1.createCell((short) 3);<br />
&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle1);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");<br />
&nbsp;&nbsp;&nbsp;c.setCellValue(sdf.format(new Date()));// 单元格值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />
&nbsp;&nbsp;&nbsp;// 在表单中新建2行<br />
&nbsp;&nbsp;&nbsp;HSSFRow row2 = sheet1.createRow((short) 1);<br />
&nbsp;&nbsp;&nbsp;row2.setHeight((short) 600);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;HSSFCellStyle cellStyle2 = wb.createCellStyle();<br />
&nbsp;&nbsp;&nbsp;cellStyle2.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平对齐方式<br />
&nbsp;&nbsp;&nbsp;cellStyle2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);<br />
&nbsp;&nbsp;&nbsp;cellStyle2.setFillBackgroundColor(HSSFColor.AQUA.index);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;cellStyle2.setBorderBottom(cellStyle.BORDER_THIN);// 单元格边框<br />
&nbsp;&nbsp;&nbsp;cellStyle2.setBorderTop(cellStyle.BORDER_THIN);<br />
&nbsp;&nbsp;&nbsp;cellStyle2.setBorderRight(cellStyle.BORDER_THIN);<br />
&nbsp;&nbsp;&nbsp;cellStyle2.setBorderLeft(cellStyle.BORDER_THIN);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;c = row2.createCell((short) 0);<br />
&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;c.setCellValue("专家名称");// 单元格值<br />
&nbsp;&nbsp;&nbsp;/*****************************************************************/<br />
&nbsp;&nbsp;&nbsp;sheet1.addMergedRegion(new Region(1, (short) 0, 1, (short) 1));<br />
&nbsp;&nbsp;&nbsp;//sheet1.addMergedRegion(new Region(2, (short) 0, 2, (short) 1));<br />
&nbsp;&nbsp;&nbsp;/*****************************************************************/</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;row2.setHeight((short) 400);<br />
&nbsp;&nbsp;&nbsp;c = row2.createCell((short) 1);<br />
&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;//c.setCellValue("项目");// 单元格值</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;row2.setHeight((short) 400);<br />
&nbsp;&nbsp;&nbsp;c = row2.createCell((short) 2);<br />
&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;c.setCellValue("分值");// 单元格值</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;//c = row2.createCell((short) 3);<br />
&nbsp;&nbsp;&nbsp;//c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;//重复行<br />
&nbsp;&nbsp;&nbsp;int rows=0; <br />
&nbsp;&nbsp;&nbsp;if(hashMap!=null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;int j=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;HSSFRow[]&nbsp; row_repeat= null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for (Iterator iterator = hashMap.values().iterator(); iterator.hasNext();) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map map= (LinkedHashMap) iterator.next();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rows =map.size();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row_repeat=new HSSFRow[map.size()];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;rows;i++){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/****************************************************/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row_repeat[i] = sheet1.createRow((short) (2+i));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//row_repeat[i] = sheet1.createRow((short) (3+i));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/****************************************************/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row_repeat[i].setHeight((short) 400);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for (Iterator iterator = hashMap.values().iterator(); iterator.hasNext();) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map map= (LinkedHashMap) iterator.next();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int i=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (Iterator iter_key = map.keySet().iterator(); iter_key.hasNext();) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SysUser sysUser = (SysUser) iter_key.next();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(j==0){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c = row_repeat[i].createCell((short) 0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setCellValue(sysUser.getUsername());// 单元格值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/******************************************************************/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sheet1.addMergedRegion(new Region(2+i, (short) 0, 2+i, (short) 1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//sheet1.addMergedRegion(new Region(3+i, (short) 0, 3+i, (short) 1));&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/******************************************************************/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c = row_repeat[i].createCell((short) 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c = row_repeat[i].createCell((short) 2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setCellValue("40");// 单元格值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c = row_repeat[i].createCell((short) (3+j));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setCellType(HSSFCell.CELL_TYPE_NUMERIC);//数字型<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.setCellValue(Double.parseDouble(map.get(sysUser).toString()));// 单元格值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;// 在表单中新建3行<br />
&nbsp;&nbsp;&nbsp;/************************************************/<br />
&nbsp;&nbsp;&nbsp;HSSFRow row3 = sheet1.createRow((short) (2+rows));<br />
&nbsp;&nbsp;&nbsp;//HSSFRow row3 = sheet1.createRow((short) (3+rows));<br />
&nbsp;&nbsp;&nbsp;/************************************************/<br />
&nbsp;&nbsp;&nbsp;row3.setHeight((short) 400);</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;c = row3.createCell((short) 0);<br />
&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;c.setCellValue(scoreSet.getScoreModel().getScoremodelname() + " 评分");// 单元格值<br />
&nbsp;&nbsp;&nbsp;/******************************************************************************/<br />
&nbsp;&nbsp;&nbsp;//sheet1.addMergedRegion(new Region((3+rows), (short) 0,(3+rows), (short) 1));<br />
&nbsp;&nbsp;&nbsp;sheet1.addMergedRegion(new Region((2+rows), (short) 0,(2+rows), (short) 1));<br />
&nbsp;&nbsp;&nbsp;/******************************************************************************/</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;c = row3.createCell((short) 1);<br />
&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式</span></p>
<p><span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;c = row3.createCell((short) 2);<br />
&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;c.setCellValue("40");// 单元格值</span></p>
<font size="3">
</font>
<p><font size="3"><br />
<span style="font-size: 8pt;">&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; list.size(); i++) {</span></font></p>
<p><span style="font-size: 8pt;"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;sheet1.setColumnWidth((short) (i + 3), (short) 5000);</font></span></p>
<p><span style="font-size: 8pt;"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;ScoreRecordDetail o = list.get(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;String name = "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (o.getDevelopid() != null) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BasDevelop basDevelop = (BasDevelop) session.createQuery("from BasDevelop where developid = :developid")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.setLong("developid", o.getDevelopid()).uniqueResult();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name = basDevelop.getDename();<br />
&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ProductType productType = (ProductType) session.createQuery("from ProductType where productid = :productid")<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.setLong("productid", o.getProductid()).uniqueResult();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name = productType.getProdname();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
/****************************************************************************/<br />
&nbsp;&nbsp;&nbsp;&nbsp;//c = row1.createCell((short) (i + 3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;//c.setCellStyle(cellStyle1);// 单元格的样式<br />
/****************************************************************************/</font></span></p>
<p><span style="font-size: 8pt;"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;c = row2.createCell((short) (i + 3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;&nbsp;c.setCellValue(name);// 单元格值</font></span></p>
<p><span style="font-size: 8pt;"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;c = row3.createCell((short) (i + 3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;c.setCellStyle(cellStyle2);// 单元格的样式<br />
&nbsp;&nbsp;&nbsp;&nbsp;c.setEncoding(HSSFCell.ENCODING_UTF_16);// 编码<br />
&nbsp;&nbsp;&nbsp;&nbsp;c.setCellType(HSSFCell.CELL_TYPE_NUMERIC);//数字型<br />
&nbsp;&nbsp;&nbsp;&nbsp;c.setCellValue(o.getScore());// 单元格值<br />
&nbsp;&nbsp;&nbsp;}</font></span></p>
<p><span style="font-size: 8pt;"><font size="3">&nbsp;&nbsp;&nbsp;// 输出Excel文件<br />
&nbsp;&nbsp;&nbsp;errorOrExportExcel(response, wb, 2 ,outFileName);</font></span></p>
<span style="font-size: 8pt;"><font size="3">&nbsp;&nbsp;} catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return false;<br />
&nbsp;}<br />
&nbsp;//结束<br />
/***************************************************************************************************************/<br />
}</font></span>
<img src ="http://www.blogjava.net/1504/aggbug/256089.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:27 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256089.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>点击表头排序[整理总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256088.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:25:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256088.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256088.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256088.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256088.html</trackback:ping><description><![CDATA[<span style="font-size: 8pt;">【1】这个非常好用， </span>
<div><span style="font-size: 8pt;">&lt;head&gt;<br />
&lt;script type="text/javascript" src="sortabletable.js"&gt;&lt;/script&gt;<br />
&lt;link type="text/css" rel="StyleSheet" href="sortabletable.css" /&gt;</span></div>
<div><span style="font-size: 8pt;">&lt;/head&gt;</span></div>
<div><span style="font-size: 8pt;">在&lt;head&gt;&lt;/head&gt;之间加入</span></div>
<div><span style="font-size: 8pt;">【2】&lt;table class="sort-table" id="table-1" cellspacing="0"&gt;</span></div>
<div><span style="font-size: 8pt;">要排序的表中要加入 id="table-1"</span></div>
<div><span style="font-size: 8pt;">【3】&lt;thead&gt;<br />
&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;String&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td title="CaseInsensitiveString"&gt;String&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;Number&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;Date&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;No Sort&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;/tr&gt;<br />
&lt;/thead&gt;</span></div>
<div><span style="font-size: 8pt;">点击的表头之间加入&lt;thead&gt;&lt;/thead&gt;</span></div>
<div><span style="font-size: 8pt;">剩下的之间加入&lt;tbody&gt;&lt;/tbody&gt;</span></div>
<div><span style="font-size: 8pt;">&lt;tbody&gt;<br />
&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;apple&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;Strawberry&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;45&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;2001-03-13&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;Item 0&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;Banana&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;orange&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;7698&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;1789-07-14&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;Item 1&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;orange&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;Banana&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;4546&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;1949-07-04&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;td&gt;Item 2&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;/tr&gt;</span></div>
<div><span style="font-size: 8pt;">&nbsp;&lt;/tbody&gt;</span></div>
<div><span style="font-size: 8pt;">【4】</span></div>
<div><span style="font-size: 8pt;">&lt;/table&gt;</span></div>
<div><span style="font-size: 8pt;">&lt;script type="text/javascript"&gt;</span></div>
<div><span style="font-size: 8pt;">var st1 = new SortableTable(document.getElementById("table-1"),<br />
&nbsp;["String", "CaseInsensitiveString", "Number", "Date", "None"]);</span></div>
<div><span style="font-size: 8pt;">&lt;/script&gt;<br />
<br />
代码下载<a href="/Files/1504/sorts.rar">http://www.blogjava.net/Files/1504/sorts.rar</a><br />
</span></div>
<img src ="http://www.blogjava.net/1504/aggbug/256088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:25 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256088.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA四舍五入(小数点后保留两位数字)[自己总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256087.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:23:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256087.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256087.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256087.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256087.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256087.html</trackback:ping><description><![CDATA[<font size="3"><span style="font-size: 10pt;">public String getFourToFive(double score_type)<br />
&nbsp;{<br />
&nbsp;&nbsp;double bl=(Math.round(score_type/.01)*.01);<br />
&nbsp;&nbsp;String st=String.valueOf(bl);<br />
&nbsp; /**注意,这里用.作为分隔符是失效的,不知道为什么,所以采用替换的办法*/<br />
&nbsp;&nbsp;st=st.replace(".", "_");<br />
&nbsp;&nbsp;String []st_arr=st.split("_");<br />
&nbsp;&nbsp;String temp="";<br />
&nbsp;&nbsp;if(st_arr[1].length()&gt;2)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;temp=st_arr[1].substring(0, 2);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;if(st_arr[1].length()&lt;2)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;temp=st_arr[1]+"0";<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;temp=st_arr[1];<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return st_arr[0]+"."+temp;<br />
&nbsp;}</span></font>
<img src ="http://www.blogjava.net/1504/aggbug/256087.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:23 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256087.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实际项目中用到的工厂模式[自己总结]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256086.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:22:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256086.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256086.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256086.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256086.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256086.html</trackback:ping><description><![CDATA[<p><span style="font-size: 10pt;">1.ExcelManagerFactory <br />
package com.factory;</span></p>
<p><span style="font-size: 10pt;">public class ExcelManagerFactory {<br />
&nbsp;&nbsp; private static String key = "key";<br />
&nbsp;&nbsp; private ExcelManagerFactory() {<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; private static ExcelManagerIf instance = null;<br />
&nbsp;&nbsp; public static ExcelManagerIf getInstance(){<br />
&nbsp;&nbsp;&nbsp; if(instance == null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; synchronized(key){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(instance == null){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; instance = new ExcelManagerImpl();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return instance;<br />
&nbsp;&nbsp; }<br />
}</span></p>
<p><span style="font-size: 10pt;">2.声明一个接口</span></p>
<p><span style="font-size: 10pt;">package com.factory;</span></p>
<p><span style="font-size: 10pt;">import java.io.InputStream;<br />
import java.util.HashMap;<br />
import java.util.LinkedHashMap;<br />
import java.util.List;</span></p>
<p><span style="font-size: 10pt;">import javax.servlet.http.HttpServletResponse;</span></p>
<p><span style="font-size: 10pt;">import com.gpdi.orm.object.ScoreRecordDetail;</span></p>
<p><span style="font-size: 10pt;">public interface ExcelManagerIf {<br />
&nbsp;<br />
&nbsp;public boolean export(HttpServletResponse response, List&lt;ScoreRecordDetail&gt; list,LinkedHashMap hashMap);<br />
&nbsp;/********************************************************************************************************/<br />
&nbsp;public boolean export1(HttpServletResponse response,List list,LinkedHashMap hashMap);<br />
&nbsp;/********************************************************************************************************/</span></p>
<p><span style="font-size: 10pt;">&nbsp;</span></p>
<p><span style="font-size: 10pt;">}<br />
3.实现接口的类</span></p>
<font size="3">
</font>
<p><font size="3"><br />
<span style="font-size: 10pt;">package com.factory;</span></font></p>
<p><span style="font-size: 10pt;"><font size="3">import java.io.IOException;</font></span></p>
<p><span style="font-size: 10pt;"><font size="3">&nbsp;</font></span></p>
<p><font size="3"><br />
<span style="font-size: 10pt;">public class ExcelManagerImpl implements ExcelManagerIf <br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public boolean export1(HttpServletResponse response, List list,LinkedHashMap hashMap) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //实现具体功能的代码实现<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
}<br />
4.调用<br />
<font style="font-size: 10pt;" size="3">&nbsp; HttpServletResponse response</font>=null;<br />
<font style="font-size: 10pt;" size="3">&nbsp; LinkedHashMap hm = new LinkedHashMap();</font><br />
&nbsp; List list = Object.getList();<br />
&nbsp;&nbsp; ExcelManagerIf eem = ExcelManagerFactory.getInstance();<br />
&nbsp;&nbsp; /******************************************************************/<br />
&nbsp;&nbsp; eem.export(response, list,hm);</span></font></p>
<p><span style="font-size: 10pt;">&nbsp;</span></p>
<img src ="http://www.blogjava.net/1504/aggbug/256086.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:22 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256086.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Collection-用几行代码实现排序[转]</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256085.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:20:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256085.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256085.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256085.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256085.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256085.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 转自:http://www.wujianrong.com/archives/2006/07/post_280.html摘要：经常看见有人还在不厌其烦的用冒泡（最常见！）或是交换做排序，实际上用几行代码就可以既快又好地实现排序，不论是简单类型还是类，数组还是Java聚集(Collection)。简单类型的排序简单类型不外是byte, char, short, int, lon...&nbsp;&nbsp;<a href='http://www.blogjava.net/1504/archive/2009/02/22/256085.html'>阅读全文</a><img src ="http://www.blogjava.net/1504/aggbug/256085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:20 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256085.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache+Tomcat负载均衡集群【整理备用】</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256084.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:20:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256084.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256084.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256084.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256084.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256084.html</trackback:ping><description><![CDATA[<p><font size="2">因为很多项目中会用到Apache+Tomcat负载均衡和集群，最近研究了一下，将心得留下，以备后用。<br />
<a href="/Files/1504/apache_tomcat.rar">/Files/1504/apache_tomcat.rar</a><br />
<br />
2010-03-28重新整理</font></p>
<img src ="http://www.blogjava.net/1504/aggbug/256084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:20 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256084.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate多对多双向关联映射【转帖】</title><link>http://www.blogjava.net/1504/archive/2009/02/22/256083.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:17:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256083.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256083.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256083.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256083.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256083.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;">转自：http://blog.csdn.net/thinkGhoster/archive/2007/10/24/1841584.aspx<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Hibernate多对多双向关联映射 </span>
<p><span style="font-size: 10pt;">1、数据库结构</span></p>
<p><span style="font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160; category表：{ categoryId , categoryName }</span></p>
<p><span style="font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160; item表：{ itemId , itemName }</span></p>
<p><span style="font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;&#160; category_item表：{ idCategory , idItem}</span></p>
<p><span style="font-size: 10pt;">2、Category.hbm.xml</span></p>
<div style="border-left-color: windowtext; padding-top: 4px; padding-right: 5.4pt; padding-bottom: 4px; padding-left: 5.4pt; background-image: none; background-repeat: repeat; background-attachment: scroll; background-color: #e6e6e6; width: 95%; background-position: 0% 0%; ">
<div><span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">hibernate-mapping</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">class&#160;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="com.persistent.Category"</span><span style="color: #ff0000;">&#160;table</span><span style="color: #0000ff;">="category"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">id&#160;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="id"</span><span style="color: #ff0000;">&#160;column</span><span style="color: #0000ff;">="categoryId"</span><span style="color: #ff0000;">&#160;unsaved-value</span><span style="color: #0000ff;">="null"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">generator&#160;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="increment"</span><span style="color: #0000ff;">>&lt;/</span><span style="color: #800000;">generator</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">id</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&#160;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="name"</span><span style="color: #ff0000;">&#160;column</span><span style="color: #0000ff;">="categoryName"</span><span style="color: #0000ff;">>&lt;/</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">set&#160;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="items"</span><span style="color: #ff0000;">&#160;table</span><span style="color: #0000ff;">="category_item"</span><span style="color: #ff0000;">&#160;cascade</span><span style="color: #0000ff;">="all"</span><span style="color: #ff0000;">&#160;lazy</span><span style="color: #0000ff;">="false"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">key&#160;</span><span style="color: #ff0000;">column</span><span style="color: #0000ff;">="idCategory"</span><span style="color: #0000ff;">>&lt;/</span><span style="color: #800000;">key</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">many-to-many&#160;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="com.persistent.Item"</span><span style="color: #ff0000;">&#160;column</span><span style="color: #0000ff;">="idItem"</span><span style="color: #0000ff;">>&lt;/</span><span style="color: #800000;">many-to-many</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">set</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">class</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">hibernate-mapping</span><span style="color: #0000ff;">></span></span></div>
</div>
<p><span style="font-size: 10pt;">3、Item.hbm.xml</span></p>
<div style="border-left-color: windowtext; padding-top: 4px; padding-right: 5.4pt; padding-bottom: 4px; padding-left: 5.4pt; background-image: none; background-repeat: repeat; background-attachment: scroll; background-color: #e6e6e6; width: 95%; background-position: 0% 0%; ">
<div><span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">hibernate-mapping</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">class&#160;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="com.persistent.Item"</span><span style="color: #ff0000;">&#160;table</span><span style="color: #0000ff;">="item"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">id&#160;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="id"</span><span style="color: #ff0000;">&#160;column</span><span style="color: #0000ff;">="itemId"</span><span style="color: #ff0000;">&#160;unsaved-value</span><span style="color: #0000ff;">="null"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">generator&#160;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="increment"</span><span style="color: #0000ff;">>&lt;/</span><span style="color: #800000;">generator</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">id</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&#160;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="name"</span><span style="color: #ff0000;">&#160;column</span><span style="color: #0000ff;">="itemName"</span><span style="color: #0000ff;">>&lt;/</span><span style="color: #800000;">property</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">set&#160;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="categories"</span><span style="color: #ff0000;">&#160;table</span><span style="color: #0000ff;">="category_item"</span><span style="color: #ff0000;">&#160;lazy</span><span style="color: #0000ff;">="false"</span><span style="color: #ff0000;">&#160;inverse</span><span style="color: #0000ff;">="true"</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">key&#160;</span><span style="color: #ff0000;">column</span><span style="color: #0000ff;">="idItem"</span><span style="color: #0000ff;">>&lt;/</span><span style="color: #800000;">key</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">many-to-many&#160;</span><span style="color: #ff0000;">class</span><span style="color: #0000ff;">="com.persistent.Category"</span><span style="color: #ff0000;">&#160;column</span><span style="color: #0000ff;">="idCategory"</span><span style="color: #0000ff;">>&lt;/</span><span style="color: #800000;">many-to-many</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">set</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;</span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">class</span><span style="color: #0000ff;">></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /></span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">hibernate-mapping</span><span style="color: #0000ff;">></span></span></div>
</div>
<p><span style="font-size: 10pt;">4、Category.java和Item.java</span></p>
<div style="border-left-color: windowtext; padding-top: 4px; padding-right: 5.4pt; padding-bottom: 4px; padding-left: 5.4pt; background-image: none; background-repeat: repeat; background-attachment: scroll; background-color: #e6e6e6; width: 95%; background-position: 0% 0%; ">
<div><span style="font-size: 10pt;"><img id="_22_102_Open_Image" style="display: inline;" onclick="this.style.display='none'; document.getElementById('_22_102_Open_Text').style.display='none'; document.getElementById('_22_102_Closed_Image').style.display='inline'; document.getElementById('_22_102_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_22_102_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getElementById('_22_102_Closed_Text').style.display='none'; document.getElementById('_22_102_Open_Image').style.display='inline'; document.getElementById('_22_102_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="color: #0000ff;">public</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&#160;Category&#160;</span><span id="_22_102_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;">...</span></span><span id="_22_102_Open_Text" style="display: inline;"><span style="font-size: 10pt;"><span style="color: #000000;">{&#160;&#160;&#160;&#160;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span></span><span style="font-size: 10pt;"><span style="color: #000000;">&#160;Long&#160;id;<br />
</span><span style="color: #0000ff;">&#160;&#160;&#160; private</span></span><span style="font-size: 10pt;"><span style="color: #000000;">&#160;String&#160;name;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span><span style="color: #000000;">&#160;Set&#160;items&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">new</span></span><span style="color: #000000;"><span style="font-size: 10pt;">&#160;HashSet();<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" />...<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /><br />
<img id="_123_207_Open_Image" onclick="this.style.display='none'; document.getElementById('_123_207_Open_Text').style.display='none'; document.getElementById('_123_207_Closed_Image').style.display='inline'; document.getElementById('_123_207_Closed_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="_123_207_Closed_Image" style="display: none;" onclick="this.style.display='none'; document.getElementById('_123_207_Closed_Text').style.display='none'; document.getElementById('_123_207_Open_Image').style.display='inline'; document.getElementById('_123_207_Open_Text').style.display='inline';" alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif" align="top" /></span></span><span style="font-size: 10pt;"><span style="color: #0000ff;">public</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&#160;Item&#160;</span><span id="_123_207_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;">...</span></span><span id="_123_207_Open_Text"><span style="font-size: 10pt;"><span style="color: #000000;">{<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span></span><span style="font-size: 10pt;"><span style="color: #000000;">&#160;Long&#160;id;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span></span><span style="font-size: 10pt;"><span style="color: #000000;">&#160;String&#160;name;<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #0000ff;">private</span><span style="color: #000000;">&#160;Set&#160;categories&#160;</span><span style="color: #000000;">=</span><span style="color: #000000;">&#160;</span><span style="color: #0000ff;">new</span></span><span style="color: #000000;"><span style="font-size: 10pt;">&#160;HashSet();<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif" align="top" />...<br />
<img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></span><span style="color: #000000;"><br />
<span style="font-size: 10pt;"><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />&#160;&#160;&#160;&#160;</span></span></div>
</div>
<p><span style="font-size: 10pt;">&#160;&#160;&#160;&#160;&#160; 映射文件中还可以不用set而用bag，只要把set出现的地方改成bag就行，这样相应的category.java和Item.java</span></p>
<p><span style="font-size: 10pt;">文件当中就可以用List。</span></p>
<img src ="http://www.blogjava.net/1504/aggbug/256083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:17 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>getOutputStream() has already been called for this response的解决【自己总结】 </title><link>http://www.blogjava.net/1504/archive/2009/02/22/256082.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:17:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256082.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256082.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256082.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256082.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256082.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;">1.在项目中JSP页面输出流显示为图片时，刷新时，报以下错误<br />
getOutputStream() has already been called for this response<br />
index.jsp<br />
</span>
<p><span style="font-size: 10pt;">&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;TITLE&gt;&lt;/TITLE&gt;</span></p>
<p><span style="font-size: 10pt;">&lt;/HEAD&gt;</span></p>
<p><span style="font-size: 10pt;">&lt;BODY&gt;<br />
&lt;TABLE&gt;<br />
&lt;TR&gt;<br />
&lt;TD&gt;&lt;/TD&gt;<br />
&lt;/TR&gt;<br />
&lt;TR&gt;<br />
&lt;TD&gt;&lt;img src="show.jsp"&gt;&lt;/TD&gt;<br />
&lt;/TR&gt;<br />
&lt;/TABLE&gt;</span></p>
<p><span style="font-size: 10pt;">&lt;/BODY&gt;<br />
&lt;/HTML&gt; </span></p>
<br />
<span style="font-size: 10pt;">show.jsp<br />
&lt;%@ page contentType="text/html; charset=gbk" %&gt;<br />
&lt;%@ page import="java.io.*"%&gt;<br />
&lt;%@ page import="cn.com.hnisi.visio.image.*"%&gt;<br />
&lt;%<br />
VisioDemo v=new VisioDemo();<br />
v.setVisible(false);<br />
try<br />
{<br />
&nbsp;byte[] image = v.getVisio().createPreview(new File("E:/test/test.vsd"));<br />
&nbsp;response.setContentType("image/jpeg"); <br />
&nbsp;OutputStream outs = response.getOutputStream(); <br />
&nbsp;outs.write(image);<br />
&nbsp;outs.flush();<br />
<br />
}<br />
catch(Exception e)<br />
{<br />
&nbsp;&nbsp;&nbsp; System.out.println(e.getMessage());<br />
}<br />
%&gt;<br />
出现错误原因是response的数据流没有释放<br />
解决办法<br />
&lt;%@ page contentType="text/html; charset=gbk" %&gt;<br />
&lt;%@ page import="java.io.*"%&gt;<br />
&lt;%@ page import="cn.com.hnisi.visio.image.*"%&gt;<br />
&lt;%<br />
VisioDemo v=new VisioDemo();<br />
v.setVisible(false);<br />
try<br />
{<br />
&nbsp;byte[] image = v.getVisio().createPreview(new File("E:/test/test.vsd"));<br />
&nbsp;response.setContentType("image/jpeg"); <br />
&nbsp;OutputStream outs = response.getOutputStream(); <br />
&nbsp;outs.write(image);<br />
&nbsp;outs.flush();<br />
</span><span style="font-size: 10pt;"><span style="color: #008000;"><strong>&nbsp;outs=null;<br />
&nbsp;&nbsp;&nbsp; response.flushBuffer();<br />
&nbsp;&nbsp;&nbsp; out.clear();<br />
&nbsp;&nbsp;&nbsp; out = pageContext.pushBody();</strong></span><br />
}<br />
catch(Exception e)<br />
{<br />
&nbsp;&nbsp;&nbsp; System.out.println(e.getMessage());<br />
}<br />
%&gt; </span>
<img src ="http://www.blogjava.net/1504/aggbug/256082.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:17 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256082.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用display，关于取出列值 </title><link>http://www.blogjava.net/1504/archive/2009/02/22/256080.html</link><dc:creator>weesun一米阳光</dc:creator><author>weesun一米阳光</author><pubDate>Sun, 22 Feb 2009 11:16:00 GMT</pubDate><guid>http://www.blogjava.net/1504/archive/2009/02/22/256080.html</guid><wfw:comment>http://www.blogjava.net/1504/comments/256080.html</wfw:comment><comments>http://www.blogjava.net/1504/archive/2009/02/22/256080.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/1504/comments/commentRss/256080.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/1504/services/trackbacks/256080.html</trackback:ping><description><![CDATA[&lt;display:table name="list"&nbsp; id="row" &gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;display:column&nbsp;&nbsp;&nbsp; title="题目" sortable="true"&nbsp; style="width: 15%" media="html"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ww:property value="#attr.row.ATTENTION_EVENT"/&gt;&amp;nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/display:column&gt;<br />
&lt;/table&gt;<br />
通过&nbsp;&nbsp; &lt;ww:property value="#attr.row.ATTENTION_EVENT"/&gt;可以实现取出列值。注意：#attr为必须，row为&nbsp;&lt;display:table &gt;的属性id的值。
<img src ="http://www.blogjava.net/1504/aggbug/256080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/1504/" target="_blank">weesun一米阳光</a> 2009-02-22 19:16 <a href="http://www.blogjava.net/1504/archive/2009/02/22/256080.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>