﻿<?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-JAVA历程</title><link>http://www.blogjava.net/shichengjun1984/</link><description>希望我的这个博客能给那些想在java的海洋中拼搏的人有所帮助。谢谢光临！</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 19:02:51 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 19:02:51 GMT</pubDate><ttl>60</ttl><item><title>js导出Excel方法</title><link>http://www.blogjava.net/shichengjun1984/archive/2010/04/16/318473.html</link><dc:creator>I LOVE JAVA</dc:creator><author>I LOVE JAVA</author><pubDate>Fri, 16 Apr 2010 01:47:00 GMT</pubDate><guid>http://www.blogjava.net/shichengjun1984/archive/2010/04/16/318473.html</guid><wfw:comment>http://www.blogjava.net/shichengjun1984/comments/318473.html</wfw:comment><comments>http://www.blogjava.net/shichengjun1984/archive/2010/04/16/318473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shichengjun1984/comments/commentRss/318473.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shichengjun1984/services/trackbacks/318473.html</trackback:ping><description><![CDATA[&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <br />
"<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"&gt; <br />
&lt;html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>"&gt; <br />
&nbsp;&lt;head&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"/&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;WEB页面导出为EXCEL文档的方法&lt;/title&gt; <br />
&lt;/head&gt; <br />
&lt;body&gt; <br />
&lt;table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td colspan="5" align="center"&gt;WEB页面导出为EXCEL文档的方法&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;/tr&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;列标题1&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;列标题2&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;列标题3&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;列标题4&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;列标题5&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;/tr&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;aaa&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;bbb&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;ccc&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;ddd&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;eee&lt;/td&gt; <br />
&nbsp; &lt;/tr&gt; <br />
&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;AAA&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;BBB&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;CCC&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;DDD&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;EEE&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;FFF&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;GGG&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;HHH&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;III&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;JJJ&lt;/td&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;&nbsp; <br />
&nbsp;&lt;/table&gt; <br />
&nbsp;&lt;input type="button" onclick="javascript:method1('tableExcel');" value="第一种方法导入到EXCEL"&gt; <br />
&nbsp;&lt;input type="button" onclick="javascript:method2('tableExcel');" value="第二种方法导入到EXCEL"&gt; <br />
&nbsp;&lt;input type="button" onclick="javascript:getXlsFromTbl('tableExcel',null);" value="第三种方法导入到EXCEL"&gt; <br />
&lt;SCRIPT LANGUAGE="javascript"&gt; <br />
function method1(tableid) {//整个表格拷贝到EXCEL中 <br />
&nbsp;&nbsp;&nbsp; var curTbl = document.getElementById(tableid); <br />
&nbsp;&nbsp;&nbsp; var oXL = new ActiveXObject("Excel.Application"); <br />
&nbsp;&nbsp;&nbsp; //创建AX对象excel <br />
&nbsp;&nbsp;&nbsp; var oWB = oXL.Workbooks.Add(); <br />
&nbsp;&nbsp;&nbsp; //获取workbook对象 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var oSheet = oWB.ActiveSheet; <br />
&nbsp;&nbsp;&nbsp; //激活当前sheet <br />
&nbsp;&nbsp;&nbsp; var sel = document.body.createTextRange(); <br />
&nbsp;&nbsp;&nbsp; sel.moveToElementText(curTbl); <br />
&nbsp;&nbsp; //把表格中的内容移到TextRange中 <br />
&nbsp;&nbsp;&nbsp; sel.select(); <br />
&nbsp;&nbsp;&nbsp; //全选TextRange中内容 <br />
&nbsp;&nbsp;&nbsp; sel.execCommand("Copy"); <br />
&nbsp;&nbsp;&nbsp; //复制TextRange中内容&nbsp; <br />
&nbsp;&nbsp; oSheet.Paste(); <br />
&nbsp;&nbsp;&nbsp; //粘贴到活动的EXCEL中&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; oXL.Visible = true; <br />
&nbsp;&nbsp;&nbsp; //设置excel可见属性 <br />
} <br />
&nbsp;function method2(tableid) //读取表格中每个单元到EXCEL中 <br />
{ <br />
&nbsp;&nbsp;&nbsp; var curTbl = document.getElementById(tableid); <br />
&nbsp;&nbsp;&nbsp; var oXL = new ActiveXObject("Excel.Application"); <br />
&nbsp;&nbsp;&nbsp;&nbsp; //创建AX对象excel <br />
&nbsp;&nbsp;&nbsp; var oWB = oXL.Workbooks.Add(); <br />
&nbsp;&nbsp;&nbsp; //获取workbook对象 <br />
&nbsp;&nbsp;&nbsp; var oSheet = oWB.ActiveSheet; <br />
&nbsp;&nbsp;&nbsp; //激活当前sheet <br />
&nbsp;&nbsp;&nbsp; var Lenr = curTbl.rows.length; <br />
&nbsp;&nbsp;&nbsp; //取得表格行数 <br />
&nbsp;&nbsp;&nbsp; for (i = 0; i &lt; Lenr; i++) <br />
&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var Lenc = curTbl.rows(i).cells.length; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //取得每行的列数 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (j = 0; j &lt; Lenc; j++) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText; <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; } <br />
&nbsp;&nbsp;&nbsp; oXL.Visible = true; <br />
&nbsp;&nbsp;&nbsp; //设置excel可见属性 <br />
} <br />
function getXlsFromTbl(inTblId, inWindow) { <br />
&nbsp;&nbsp;&nbsp;&nbsp; try { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var allStr = ""; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var curStr = ""; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // alert("getXlsFromTbl"); //<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (inTblId != null &amp;&amp; inTblId != "" &amp;&amp; inTblId != "null") { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; curStr = getTblData(inTblId, inWindow); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (curStr != null) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allStr += curStr; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("你要导出的表不存在！"); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var fileName = getExcelFileName(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; doFileExport(fileName, allStr); <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; catch(e) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("导出发生异常:" + e.name + "-&gt;" + e.description + "!"); <br />
&nbsp;&nbsp;&nbsp; } <br />
} <br />
function getTblData(inTbl, inWindow) { <br />
&nbsp;&nbsp; var rows = 0; <br />
&nbsp;&nbsp; // alert("getTblData is " + inWindow); //<br />
&nbsp;&nbsp;&nbsp; var tblDocument = document; <br />
&nbsp;&nbsp;&nbsp; if (!!inWindow &amp;&amp; inWindow != "") { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!document.all(inWindow)) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tblDocument = eval(inWindow).document; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; var curTbl = tblDocument.getElementById(inTbl); <br />
&nbsp;&nbsp; var outStr = ""; <br />
&nbsp;&nbsp;&nbsp; if (curTbl != null) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var j = 0; j &lt; curTbl.rows.length; j++) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //alert("j is " + j); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var i = 0; i &lt; curTbl.rows[j].cells.length; i++) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //alert("i is " + i); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i == 0 &amp;&amp; rows &gt; 0) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outStr += " \t"; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rows -= 1; <br />
&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;&nbsp;&nbsp;&nbsp; outStr += curTbl.rows[j].cells[i].innerText + "\t"; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (curTbl.rows[j].cells[i].colSpan &gt; 1) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var k = 0; k &lt; curTbl.rows[j].cells[i].colSpan - 1; k++) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outStr += " \t"; <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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (i == 0) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (rows == 0 &amp;&amp; curTbl.rows[j].cells[i].rowSpan &gt; 1) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rows = curTbl.rows[j].cells[i].rowSpan - 1; <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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outStr += "\r\n"; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; else { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outStr = null; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(inTbl + "不存在!"); <br />
&nbsp;&nbsp;&nbsp; } <br />
} <br />
function getExcelFileName() { <br />
&nbsp;&nbsp;&nbsp; var d = new Date(); <br />
&nbsp;&nbsp;&nbsp; var curYear = d.getYear(); <br />
&nbsp;&nbsp;&nbsp; var curMonth = "" + (d.getMonth() + 1); <br />
&nbsp;&nbsp;&nbsp; var curDate = "" + d.getDate(); <br />
&nbsp;&nbsp;&nbsp; var curHour = "" + d.getHours(); <br />
&nbsp;&nbsp;&nbsp; var curMinute = "" + d.getMinutes(); <br />
&nbsp;&nbsp;&nbsp; var curSecond = "" + d.getSeconds(); <br />
&nbsp;&nbsp;&nbsp; if (curMonth.length == 1) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; curMonth = "0" + curMonth; <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; if (curDate.length == 1) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; curDate = "0" + curDate; <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; if (curHour.length == 1) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; curHour = "0" + curHour; <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; if (curMinute.length == 1) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; curMinute = "0" + curMinute; <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; if (curSecond.length == 1) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; curSecond = "0" + curSecond; <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; var fileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_" <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + curHour + curMinute + curSecond + ".csv"; <br />
&nbsp;&nbsp;&nbsp; //alert(fileName); <br />
&nbsp;&nbsp;&nbsp; return fileName; <br />
} <br />
function doFileExport(inName, inStr) { <br />
&nbsp;&nbsp;&nbsp; var xlsWin = null; <br />
&nbsp;&nbsp;&nbsp; if (!!document.all("glbHideFrm")) { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlsWin = glbHideFrm; <br />
&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; else { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var width = 6; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var height = 4; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var openPara = "left=" + (window.screen.width / 2 - width / 2) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + ",top=" + (window.screen.height / 2 - height / 2) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + ",scrollbars=no,width=" + width + ",height=" + height; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlsWin = window.open("", "_blank", openPara); <br />
&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp; xlsWin.document.write(inStr); <br />
&nbsp;&nbsp; xlsWin.document.close(); <br />
&nbsp;&nbsp;&nbsp; xlsWin.document.execCommand('Saveas', true, inName); <br />
&nbsp;&nbsp; xlsWin.close(); <br />
} <br />
&lt;/SCRIPT&gt; <br />
&lt;/body&gt; <br />
&lt;/html&gt; 
<img src ="http://www.blogjava.net/shichengjun1984/aggbug/318473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shichengjun1984/" target="_blank">I LOVE JAVA</a> 2010-04-16 09:47 <a href="http://www.blogjava.net/shichengjun1984/archive/2010/04/16/318473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j.properties参数</title><link>http://www.blogjava.net/shichengjun1984/archive/2009/03/23/261447.html</link><dc:creator>I LOVE JAVA</dc:creator><author>I LOVE JAVA</author><pubDate>Mon, 23 Mar 2009 02:10:00 GMT</pubDate><guid>http://www.blogjava.net/shichengjun1984/archive/2009/03/23/261447.html</guid><wfw:comment>http://www.blogjava.net/shichengjun1984/comments/261447.html</wfw:comment><comments>http://www.blogjava.net/shichengjun1984/archive/2009/03/23/261447.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shichengjun1984/comments/commentRss/261447.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shichengjun1984/services/trackbacks/261447.html</trackback:ping><description><![CDATA[<p>log4j.rootLogger=DEBUG,CONSOLE,DATABASE,FILE<br />
log4j.addivity.org.apache=true</p>
<p># 应用于控制台<br />
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender<br />
log4j.appender.CONSOLE.Threshold=INFO<br />
log4j.appender.CONSOLE.Target=System.out<br />
log4j.appender.CONSOLE.Encoding=GBK<br />
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p>
<p># 用于数据库<br />
#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender<br />
#log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/ww<br />
#log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver<br />
#log4j.appender.DATABASE.user=root <br />
#log4j.appender.DATABASE.password=123<br />
#log4j.appender.CONSOLE.Threshold=WARN<br />
#log4j.appender.DATABASE.sql=INSERT INTO LOG4J(stamp,thread, infolevel,class,messages) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')<br />
# INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')<br />
# 写入数据库中的表LOG4J的Message字段中，内容％d（日期）%c: 日志信息所在地（类名）%p: 日志信息级别%m: 产生的日志具体信息 %n: 输出日志信息换行<br />
#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout<br />
#log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p>
<p># 每天新建日志<br />
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender<br />
log4j.appender.A1.File=C:/log4j/log<br />
log4j.appender.A1.Encoding=GBK<br />
log4j.appender.A1.Threshold=DEBUG<br />
log4j.appender.A1.DatePattern='.'yyyy-MM-dd<br />
log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n</p>
<p>#应用于文件<br />
log4j.appender.FILE=org.apache.log4j.FileAppender<br />
log4j.appender.FILE.File=C:/log4j/file.log<br />
log4j.appender.FILE.Append=false<br />
log4j.appender.FILE.Encoding=GBK<br />
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p>
<p># 应用于文件回滚<br />
log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender<br />
log4j.appender.ROLLING_FILE.Threshold=ERROR<br />
log4j.appender.ROLLING_FILE.File=rolling.log<br />
log4j.appender.ROLLING_FILE.Append=true<br />
log4j.appender.CONSOLE_FILE.Encoding=GBK<br />
log4j.appender.ROLLING_FILE.MaxFileSize=10KB<br />
log4j.appender.ROLLING_FILE.MaxBackupIndex=1<br />
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p>
<p>#自定义Appender<br />
log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender<br />
log4j.appender.im.host = mail.cybercorlin.net<br />
log4j.appender.im.username = username<br />
log4j.appender.im.password = password<br />
log4j.appender.im.recipient = <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#99;&#111;&#114;&#108;&#105;&#110;&#64;&#99;&#121;&#98;&#101;&#114;&#99;&#111;&#114;&#108;&#105;&#110;&#46;&#110;&#101;&#116;"><font color="#006699">corlin@cybercorlin.net</font></a><br />
log4j.appender.im.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p>
<p>#应用于socket<br />
log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender<br />
log4j.appender.SOCKET.RemoteHost=localhost<br />
log4j.appender.SOCKET.Port=5001<br />
log4j.appender.SOCKET.LocationInfo=true<br />
# Set up for Log Facter 5<br />
log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n<br />
# Log Factor 5 Appender<br />
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender<br />
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000</p>
<p># 发送日志给邮件<br />
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender<br />
log4j.appender.MAIL.Threshold=FATAL<br />
log4j.appender.MAIL.BufferSize=10<br />
<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#111;&#103;&#52;&#106;&#46;&#97;&#112;&#112;&#101;&#110;&#100;&#101;&#114;&#46;&#77;&#65;&#73;&#76;&#46;&#70;&#114;&#111;&#109;&#61;&#119;&#101;&#98;&#64;&#119;&#119;&#119;&#46;&#119;&#117;&#115;&#101;&#116;&#46;&#99;&#111;&#109;"><font color="#006699">log4j.appender.MAIL.From=web@www.wuset.com</font></a><br />
log4j.appender.MAIL.SMTPHost=www.wusetu.com<br />
log4j.appender.MAIL.Subject=Log4J Message<br />
<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#111;&#103;&#52;&#106;&#46;&#97;&#112;&#112;&#101;&#110;&#100;&#101;&#114;&#46;&#77;&#65;&#73;&#76;&#46;&#84;&#111;&#61;&#119;&#101;&#98;&#64;&#119;&#119;&#119;&#46;&#119;&#117;&#115;&#101;&#116;&#117;&#46;&#99;&#111;&#109;"><font color="#006699">log4j.appender.MAIL.To=web@www.wusetu.com</font></a><br />
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p>
<img src ="http://www.blogjava.net/shichengjun1984/aggbug/261447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shichengjun1984/" target="_blank">I LOVE JAVA</a> 2009-03-23 10:10 <a href="http://www.blogjava.net/shichengjun1984/archive/2009/03/23/261447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通用二级下拉菜单(改进版)</title><link>http://www.blogjava.net/shichengjun1984/archive/2007/10/19/154130.html</link><dc:creator>I LOVE JAVA</dc:creator><author>I LOVE JAVA</author><pubDate>Fri, 19 Oct 2007 03:06:00 GMT</pubDate><guid>http://www.blogjava.net/shichengjun1984/archive/2007/10/19/154130.html</guid><wfw:comment>http://www.blogjava.net/shichengjun1984/comments/154130.html</wfw:comment><comments>http://www.blogjava.net/shichengjun1984/archive/2007/10/19/154130.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shichengjun1984/comments/commentRss/154130.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shichengjun1984/services/trackbacks/154130.html</trackback:ping><description><![CDATA[<p>&lt;script language="JavaScript"&gt;<br />
&lt;!--<br />
function TwoSelectInit(so,dv1,dv2){<br />
&nbsp;var o1=so.o1;var o2=so.o2;var allstr=so.str;var dt1=so.dt1;var dt2=so.dt2;var selectonce=so.selectonce;<br />
&nbsp;var _s = "*|^@";<br />
&nbsp;var s1=new Array(),v1=new Array(),s2=new Array(),v2=new Array();<br />
&nbsp;var s1i = 0,s2i = 0;<br />
&nbsp;if(dt1!=""){<br />
&nbsp;&nbsp;if(!selectonce){allstr=dt1+_s.charAt(1)+_s.charAt(0)+allstr;}<br />
&nbsp;&nbsp;else{allstr=dt1+_s.charAt(1)+dt2+_s.charAt(0)+allstr;}<br />
&nbsp;}<br />
&nbsp;aa=allstr.split(_s.charAt(0));<br />
&nbsp;for(aai=0;aai&lt;aa.length;aai++){<br />
&nbsp;&nbsp;aaa=aa[aai].split(_s.charAt(1));<br />
&nbsp;&nbsp;tmps1 = aaa[0].split(_s.charAt(3));<br />
&nbsp;&nbsp;s1[aai] = tmps1[0];v1[aai] = (tmps1.length==2)?tmps1[1]:tmps1[0];<br />
&nbsp;&nbsp;s2[aai] = new Array();v2[aai] = new Array();<br />
&nbsp;&nbsp;if(v1[aai]==dv1){s1i = aai;}<br />
&nbsp;&nbsp;bbbb=aaa[1];<br />
&nbsp;&nbsp;if(dt2!=""&amp;&amp;!selectonce){if(bbbb==""){bbbb=dt2;}else{bbbb=dt2+_s.charAt(2)+bbbb;}}<br />
&nbsp;&nbsp;bb=bbbb.split(_s.charAt(2));<br />
&nbsp;&nbsp;for(bbi=0;bbi&lt; bb.length;bbi++){<br />
&nbsp;&nbsp;&nbsp;tmps2 = bb[bbi].split(_s.charAt(3));<br />
&nbsp;&nbsp;&nbsp;s2[aai][bbi] = tmps2[0];v2[aai][bbi] = (tmps2.length==2)?tmps2[1]:tmps2[0];<br />
&nbsp;&nbsp;&nbsp;if(v2[aai][bbi]==dv2){s2i = bbi;}<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;for(var i=0;i&lt;o1.options.length;i++){o1.remove(i);i--;}<br />
&nbsp;for(k=0;k&lt;s1.length;k++){o1.options.add(new Option(s1[k],v1[k]));}<br />
&nbsp;o1.selectedIndex=s1i;<br />
&nbsp;for(var i=0;i&lt;o2.options.length;i++){o2.remove(i);i--;}<br />
&nbsp;for(k=0;k&lt;s2[s1i].length;k++){o2.options.add(new Option(s2[s1i][k],v2[s1i][k]));}<br />
&nbsp;o2.selectedIndex=s2i;<br />
}<br />
function HwTwoSelect(o1,o2,liststr,dt1,dt2,t){this.o1=o1;this.o2=o2;this.str=liststr;this.dt1=dt1;this.dt2=dt2;this.selectonce=t}<br />
//--&gt;<br />
&lt;/SCRIPT&gt;<br />
&lt;form method="post" name=myform&gt;<br />
选择一次：&lt;select name="a" onchange="TwoSelectInit(test1,this.value)"&gt;&lt;/select&gt;　&lt;select name="b"&gt;&lt;/select&gt;&lt;hr&gt;<br />
选择两次：&lt;select name="aa" onchange="TwoSelectInit(test2,this.value)"&gt;&lt;/select&gt;　&lt;select name="bb"&gt;&lt;/select&gt;&lt;hr&gt;<br />
有初始值：&lt;select name="aaa" onchange="TwoSelectInit(test3,this.value)"&gt;&lt;/select&gt;　&lt;select name="bbb"&gt;&lt;/select&gt;</p>
<p>&lt;/form&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
&lt;!--<br />
var selecttext=""<br />
+"搜索@search|Google@http://www.google.com/^Yahoo@http://www.yahoo.com/"<br />
+"*收藏@fav|无忧视窗@http://www.51windows.Net/^蓝色理想@http://www.blueidea.com/^POPO@http://plod.popoever.net/"<br />
+"";<br />
var test1 = new HwTwoSelect(document.myform.a,document.myform.b,selecttext,"－分类－@","－网址－@",1);//最后的参数表示，选了一级菜单后，二级菜单是否还要显示&#8220;请选择&#8221;，1或true代码，不显示，0或false代表显示<br />
TwoSelectInit(test1);</p>
<p>var test2 = new HwTwoSelect(document.myform.aa,document.myform.bb,selecttext,"－分类－@","－网址－@",0);<br />
TwoSelectInit(test2);</p>
<p>var test3 = new HwTwoSelect(document.myform.aaa,document.myform.bbb,selecttext,"－分类－@","－网址－@",0);<br />
TwoSelectInit(test3,"fav","http://www.51windows.Net/");<br />
//--&gt;<br />
&lt;/SCRIPT&gt;<br />
<br />
</p>
<p>以下是示例代码，详细请查看源文件：
<hr />
<p>&nbsp;</p>
<p>&lt;form method="post" name=<font color="#ff00ff">myform</font>&gt;<br />
&lt;select name="<font color="#ff0000">select1</font>" onchange="TwoSelectInit(<font color="#0000ff">ttt</font>,this.value)"&gt;&lt;/select&gt;　&lt;select name="<font color="#ff0000">select2</font>"&gt;&lt;/select&gt;&lt;hr&gt;<br />
&lt;/form&gt;</p>
<p>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
&lt;!--<br />
var <font color="#008000">selecttext</font>=""<br />
+"搜索@search|Google@http://www.google.com/^Yahoo@http://www.yahoo.com/"<br />
+"*收藏@fav|无忧视窗@http://www.51windows.Net/^蓝色理想@http://www.blueidea.com/^POPO@http://plod.popoever.net/"<br />
+"";<br />
<br />
var <font color="#0000ff">ttt</font> = new HwTwoSelect(document.<font color="#ff00ff">myform</font>.<font color="#ff0000">select1</font>,document.<font color="#ff00ff">myform</font>.<font color="#ff0000">select2</font>,<font color="#008000">selecttext</font>,"－分类－@","－网址－@",1);<br />
TwoSelectInit(<font color="#0000ff">ttt</font> ,"fav","http://www.51windows.Net/");<br />
<br />
//--&gt;<br />
&lt;/SCRIPT&gt;</p>
<p><font color="#ff0000">bug:在二级菜单有初始值时，如果表单重置，二级菜单的值会变为空</font></p>
<img src ="http://www.blogjava.net/shichengjun1984/aggbug/154130.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shichengjun1984/" target="_blank">I LOVE JAVA</a> 2007-10-19 11:06 <a href="http://www.blogjava.net/shichengjun1984/archive/2007/10/19/154130.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>三级下拉菜单 (通用版)</title><link>http://www.blogjava.net/shichengjun1984/archive/2007/10/19/154113.html</link><dc:creator>I LOVE JAVA</dc:creator><author>I LOVE JAVA</author><pubDate>Fri, 19 Oct 2007 02:41:00 GMT</pubDate><guid>http://www.blogjava.net/shichengjun1984/archive/2007/10/19/154113.html</guid><wfw:comment>http://www.blogjava.net/shichengjun1984/comments/154113.html</wfw:comment><comments>http://www.blogjava.net/shichengjun1984/archive/2007/10/19/154113.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shichengjun1984/comments/commentRss/154113.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shichengjun1984/services/trackbacks/154113.html</trackback:ping><description><![CDATA[<p>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
&lt;!--<br />
function CreateSelect(_FormName,_SName,_SValue,_Ds,_AllOptionStr,ShowType)<br />
{<br />
&nbsp;//三级关链菜单通用版<br />
&nbsp;//作者:海娃， 有问题请到http://www.51windows.Net留言。<br />
&nbsp;if (_FormName=="")<br />
&nbsp;&nbsp;_FormName = "all"<br />
&nbsp;var _DsArr = _Ds.split("|")<br />
&nbsp;var _Ds1,_Ds2,_Ds3<br />
&nbsp;var _Ds1 = _DsArr[0]<br />
&nbsp;var _Ds2 = (_DsArr.length&gt;1)?_DsArr[1]:_DsArr[0]<br />
&nbsp;var _Ds3 = (_DsArr.length&gt;2)?_DsArr[2]:_DsArr[0]</p>
<p>&nbsp;var _SNameArr = _SName.split("|")<br />
&nbsp;var _SName1,_SName2,_SName3<br />
&nbsp;var _SName1 = _SNameArr[0]<br />
&nbsp;var _SName2 = (_SNameArr.length&gt;1)?_SNameArr[1]:_SNameArr[0]<br />
&nbsp;var _SName3 = (_SNameArr.length&gt;2)?_SNameArr[2]:_SNameArr[0]</p>
<p>&nbsp;var _SValueArr = _SValue.split("|")<br />
&nbsp;var _SValue1,_SValue2,_SValue3<br />
&nbsp;var _SValue1 = _SValueArr[0]<br />
&nbsp;var _SValue2 = (_SValueArr.length&gt;1)?_SValueArr[1]:_SValueArr[0]<br />
&nbsp;var _SValue3 = (_SValueArr.length&gt;2)?_SValueArr[2]:_SValueArr[0]</p>
<p>&nbsp;if (ShowType==3){<br />
&nbsp;&nbsp;_AllOptionStr = _AllOptionStr.replace(/\(\(/ig,"\(\("+_Ds3+"\^")<br />
&nbsp;&nbsp;_AllOptionStr = _AllOptionStr.replace(/\{\{/ig,"\{\{"+_Ds2+"\(\("+_Ds3+"\*\*")<br />
&nbsp;}<br />
&nbsp;else if(ShowType==2){<br />
&nbsp;&nbsp;_AllOptionStr = _AllOptionStr.replace(/\{\{/ig,"\{\{"+_Ds2+"\(\("+_Ds3+"\*\*")<br />
&nbsp;}<br />
&nbsp;else if(ShowType==1){<br />
&nbsp;&nbsp;_AllOptionStr = _AllOptionStr.replace(/\(\(/ig,"\(\("+_Ds3+"\^")<br />
&nbsp;}<br />
&nbsp;var AllStr = _Ds1 + "{{"+ _Ds2 + "(("+ _Ds3 +"||"+_AllOptionStr<br />
&nbsp;//alert(AllStr)<br />
&nbsp;var _AR0 = AllStr.split("||");<br />
&nbsp;document.writeln("&lt;select name=\"" + _SName1 + "\" size=\"1\" onChange=\""+_SName1+"redirect(this.options.selectedIndex)\"&gt;");<br />
&nbsp;for (var i1 = 0;i1 &lt; _AR0.length;i1++)<br />
&nbsp;{<br />
&nbsp;&nbsp;var Area1Str = _AR0[i1];<br />
&nbsp;&nbsp;var _AR10 = Area1Str.split("{{");<br />
&nbsp;&nbsp;var _AR11 = _AR10[0].split("@");<br />
&nbsp;&nbsp;var Tstr1 = _AR11[0];<br />
&nbsp;&nbsp;var Vstr1 = (_AR11.length==2)?_AR11[1]:_AR11[0]<br />
&nbsp;&nbsp;document.writeln("&lt;option value=\""+Vstr1+"\"&gt;"+Tstr1+"&lt;\/option&gt;");<br />
&nbsp;}<br />
&nbsp;document.writeln("&lt;\/select&gt;");</p>
<p>&nbsp;document.writeln("&lt;select name=\"" + _SName2 + "\" size=\"1\" onChange=\""+_SName1+"redirect1(this.options.selectedIndex)\"&gt;");<br />
&nbsp;var _AR111 = _Ds2.split("@");<br />
&nbsp;var Tstr11 = _AR111[0];<br />
&nbsp;var Vstr11 = (_AR111.length==2)?_AR111[1]:_AR111[0];<br />
&nbsp;document.writeln("&lt;option value=\""+Vstr11+"\"&gt;"+Tstr11+"&lt;\/option&gt;");<br />
&nbsp;document.writeln("&lt;\/select&gt;");</p>
<p>&nbsp;document.writeln("&lt;select name=\"" + _SName3 + "\" size=\"1\"&gt;");<br />
&nbsp;var _AR222 = _Ds3.split("@");<br />
&nbsp;var Tstr22 = _AR222[0];<br />
&nbsp;var Vstr22 = (_AR222.length==2)?_AR222[1]:_AR222[0];<br />
&nbsp;document.writeln("&lt;option value=\""+Vstr22+"\"&gt;"+Tstr22+"&lt;\/option&gt;");<br />
&nbsp;document.writeln("&lt;\/select&gt;");</p>
<p>&nbsp;document.writeln("&lt;S"+"CRIPT LANGUAGE=\"JavaScript\" defer&gt;");<br />
&nbsp;document.writeln("&lt;!--");<br />
&nbsp;document.writeln("var "+_SName1+"NewAllStr = \""+ AllStr +"\"");<br />
&nbsp;document.writeln("var "+_SName1+"_AR0 = "+_SName1+"NewAllStr.split(\"||\");");<br />
&nbsp;document.writeln("var "+_SName1+"groups=document."+ _FormName +"." + _SName1 + ".options.length;");<br />
&nbsp;document.writeln("var "+_SName1+"group=new Array("+_SName1+"groups)");<br />
&nbsp;document.writeln("for (i=0; i&lt;"+_SName1+"groups; i++){");<br />
&nbsp;document.writeln("&nbsp;"+_SName1+"group[i]=new Array();");<br />
&nbsp;document.writeln("}");<br />
&nbsp;document.writeln("for (var i1 = 0;i1 &lt; "+_SName1+"_AR0.length;i1++){");<br />
&nbsp;document.writeln("&nbsp;var Area1Str = "+_SName1+"_AR0[i1];");<br />
&nbsp;document.writeln("&nbsp;var _AR10 = Area1Str.split(\"{{\");");<br />
&nbsp;document.writeln("&nbsp;var _AR12 = _AR10[1].split(\"**\");");<br />
&nbsp;document.writeln("&nbsp;for (var i2 = 0;i2 &lt; _AR12.length;i2++){");<br />
&nbsp;document.writeln("&nbsp;&nbsp;var Area2Str = _AR12[i2];");<br />
&nbsp;document.writeln("&nbsp;&nbsp;var _AR20 = Area2Str.split(\"((\");");<br />
&nbsp;document.writeln("&nbsp;&nbsp;var _AR211 = _AR20[0].split(\"@\");");<br />
&nbsp;document.writeln("&nbsp;&nbsp;var Tstr2 = _AR211[0];");<br />
&nbsp;document.writeln("&nbsp;&nbsp;var Vstr2 = (_AR211.length==2)?_AR211[1]:_AR211[0];");<br />
&nbsp;document.writeln("&nbsp;&nbsp;"+_SName1+"group[i1][i2]=new Option(Tstr2,Vstr2);");<br />
&nbsp;document.writeln("&nbsp;}");<br />
&nbsp;document.writeln("}");<br />
&nbsp;document.writeln("var "+_SName1+"temp = document."+ _FormName +"." + _SName2);<br />
&nbsp;document.writeln("function "+_SName1+"redirect(x){");<br />
&nbsp;document.writeln("&nbsp;for (m="+_SName1+"temp.options.length-1;m&gt;0;m--)");<br />
&nbsp;document.writeln("&nbsp;"+_SName1+"temp.options[m]=null;");<br />
&nbsp;document.writeln("&nbsp;for (i=0;i&lt;"+_SName1+"group[x].length;i++){");<br />
&nbsp;document.writeln("&nbsp;&nbsp;"+_SName1+"temp.options[i]=new Option("+_SName1+"group[x][i].text,"+_SName1+"group[x][i].value);");<br />
&nbsp;document.writeln("&nbsp;}");<br />
&nbsp;document.writeln("&nbsp;"+_SName1+"temp.options[0].selected=true");<br />
&nbsp;document.writeln("&nbsp;"+_SName1+"redirect1(0)");<br />
&nbsp;document.writeln("}");<br />
&nbsp;document.writeln("var "+_SName1+"Group2s=document."+ _FormName +"." + _SName2 + ".options.length;");<br />
&nbsp;document.writeln("var "+_SName1+"Group2=new Array("+_SName1+"groups);");<br />
&nbsp;document.writeln("for (i=0; i&lt;"+_SName1+"groups; i++){");<br />
&nbsp;document.writeln("&nbsp;"+_SName1+"Group2[i]=new Array("+_SName1+"group[i].length)");<br />
&nbsp;document.writeln("&nbsp;for (j=0; j&lt;"+_SName1+"group[i].length; j++){");<br />
&nbsp;document.writeln("&nbsp;&nbsp;"+_SName1+"Group2[i][j]=new Array()");<br />
&nbsp;document.writeln("&nbsp;}");<br />
&nbsp;document.writeln("}");<br />
&nbsp;document.writeln("for (var i1 = 0;i1 &lt; "+_SName1+"_AR0.length;i1++){");<br />
&nbsp;document.writeln("&nbsp;var Area1Str = "+_SName1+"_AR0[i1]");<br />
&nbsp;document.writeln("&nbsp;var _AR10 = Area1Str.split(\"{{\");");<br />
&nbsp;document.writeln("&nbsp;var _AR12 = _AR10[1].split(\"**\");");<br />
&nbsp;document.writeln("&nbsp;for (var i2 = 0;i2 &lt; _AR12.length;i2++){");<br />
&nbsp;document.writeln("&nbsp;&nbsp;var Area2Str = _AR12[i2]");<br />
&nbsp;document.writeln("&nbsp;&nbsp;var _AR20 = Area2Str.split(\"((\");");<br />
&nbsp;document.writeln("&nbsp;&nbsp;_AR212 = _AR20[1].split(\"^\");");<br />
&nbsp;document.writeln("&nbsp;&nbsp;for (var i3 = 0;i3 &lt; _AR212.length;i3++){");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;Area3Str = _AR212[i3]");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;_AR3 = Area3Str.split(\"@\");");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;Tstr3 = _AR3[0]");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;Vstr3 = (_AR3.length==2)?_AR3[1]:_AR3[0]");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;"+_SName1+"Group2[i1][i2][i3]=new Option(Tstr3,Vstr3);");<br />
&nbsp;document.writeln("&nbsp;&nbsp;}");<br />
&nbsp;document.writeln("&nbsp;}");<br />
&nbsp;document.writeln("}");<br />
&nbsp;document.writeln("var "+_SName1+"temp1=document."+ _FormName +"." + _SName3 + "");<br />
&nbsp;document.writeln("function "+_SName1+"redirect1(y){");<br />
&nbsp;document.writeln("&nbsp;for (m="+_SName1+"temp1.options.length-1;m&gt;0;m--)");<br />
&nbsp;document.writeln("&nbsp;"+_SName1+"temp1.options[m]=null");<br />
&nbsp;document.writeln("&nbsp;for (i=0;i&lt;"+_SName1+"Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y].length;i++){");<br />
&nbsp;document.writeln("&nbsp;&nbsp;"+_SName1+"temp1.options[i]=new Option("+_SName1+"Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y][i].text," + _SName1 + "Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y][i].value)");<br />
&nbsp;document.writeln("&nbsp;}");<br />
&nbsp;document.writeln("&nbsp;"+_SName1+"temp1.options[0].selected=true");<br />
&nbsp;document.writeln("}");<br />
&nbsp;document.writeln("\/\/--&gt;");<br />
&nbsp;document.writeln("&lt;\/script&gt;");<br />
&nbsp;document.writeln("&lt;s"+"cript language=\"JavaScript\"&gt;");<br />
&nbsp;document.writeln("&lt;!--");<br />
&nbsp;document.writeln("function "+_SName1+"SetValue(){");<br />
&nbsp;document.writeln("&nbsp;try{");<br />
&nbsp;document.writeln("&nbsp;&nbsp;if (\""+_SValue1+"\"!=\"\"){");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;document."+ _FormName +"."+_SName1+".value=\""+_SValue1+"\"");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;"+_SName1+"redirect(document."+ _FormName +"."+_SName1+".options.selectedIndex);");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;if (\""+_SValue2+"\"!=\"\"){");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;&nbsp;document."+ _FormName +"."+_SName2+".value=\""+_SValue2+"\"");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;&nbsp;"+_SName1+"redirect1(document."+ _FormName +"."+_SName2+".options.selectedIndex)");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;&nbsp;if (\""+_SValue3+"\"!=\"\")");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document."+ _FormName +"."+_SName3+".value=\""+_SValue3+"\"");<br />
&nbsp;document.writeln("&nbsp;&nbsp;&nbsp;}");<br />
&nbsp;document.writeln("&nbsp;&nbsp;}");<br />
&nbsp;document.writeln("&nbsp;}");<br />
&nbsp;document.writeln("&nbsp;catch(e){");<br />
&nbsp;document.writeln("&nbsp;}");<br />
&nbsp;document.writeln("}");<br />
&nbsp;document.writeln("window.attachEvent(\"onload\","+_SName1+"SetValue)");<br />
&nbsp;document.writeln("\/\/--&gt;");<br />
&nbsp;document.writeln("&lt;\/script&gt;");<br />
}<br />
//--&gt;<br />
&lt;/script&gt;</p>
<p>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
&lt;!--<br />
var AllStr1 = ""<br />
+"东北地区{{"<br />
&nbsp;+"黑龙江((哈尔滨^齐齐哈尔^牡丹江^佳木斯^大庆^绥化^鹤岗^鸡西^黑河^双鸭山^伊春^七台河^大兴安岭"<br />
&nbsp;+"**吉林((长春^吉林^四平^辽源^通化^白山^松原^白城^延边"<br />
&nbsp;+"**辽宁((沈阳^大连^鞍山^抚顺^本溪^丹东^锦州^营口^阜新^辽阳^盘锦^铁岭^朝阳^葫芦岛"<br />
+"||华北地区{{"<br />
&nbsp;+"北京((东城^西城^崇文^宣武^朝阳^丰台^石景山^海淀^门头沟^房山^通州^顺义^昌平^大兴^平谷^怀柔^密云^延庆"<br />
&nbsp;+"**天津((和平^东丽^河东^西青^河西^津南^南开^北辰^河北^武清^红挢^塘沽^汉沽^大港^宁河^静海^宝坻^蓟县"<br />
&nbsp;+"**山东((济南^青岛^淄博^枣庄^东营^烟台^潍坊^济宁^泰安^威海^日照^莱芜^临沂^德州^聊城^滨州^菏泽"<br />
&nbsp;+"**河北((石家庄^邯郸^邢台^保定^张家口^承德^廊坊^唐山^秦皇岛^沧州^衡水"<br />
&nbsp;+"**河南((郑州^开封^洛阳^平顶山^安阳^鹤壁^新乡^焦作^濮阳^许昌^漯河^三门峡^南阳^商丘^信阳^周口^驻马店^济源"<br />
&nbsp;+"**山西((太原^大同^阳泉^长治^晋城^朔州^吕梁^忻州^晋中^临汾^运城"<br />
&nbsp;+"**内蒙古((呼和浩特^包头^乌海^赤峰^呼伦贝尔盟^阿拉善盟^哲里木盟^兴安盟^乌兰察布盟^锡林郭勒盟^巴彦淖尔盟^伊克昭盟"<br />
+"||华中地区{{"<br />
&nbsp;+"湖北((武汉^宜昌^荆州^襄樊^黄石^荆门^黄冈^十堰^恩施^潜江^天门^仙桃^随州^咸宁^孝感^鄂州"<br />
&nbsp;+"**湖南((长沙^常德^株洲^湘潭^衡阳^岳阳^邵阳^益阳^娄底^怀化^郴州^永州^湘西^张家界"<br />
+"||华南地区{{"<br />
&nbsp;+"广东((广州^深圳^珠海^汕头^东莞^中山^佛山^韶关^江门^湛江^茂名^肇庆^惠州^梅州^汕尾^河源^阳江^清远^潮州^揭阳^云浮"<br />
&nbsp;+"**广西((南宁^柳州^桂林^梧州^北海^防城港^钦州^贵港^玉林^南宁地区^柳州地区^贺州^百色^河池"<br />
&nbsp;+"**福建((福州^厦门^莆田^三明^泉州^漳州^南平^龙岩^宁德"<br />
&nbsp;+"**海南((海口^三亚"<br />
+"||西南地区{{"<br />
&nbsp;+"四川((成都^绵阳^德阳^自贡^攀枝花^广元^内江^乐山^南充^宜宾^广安^达川^雅安^眉山^甘孜^凉山^泸州"<br />
&nbsp;+"**重庆((万州^涪陵^渝中^大渡口^江北^沙坪坝^九龙坡^南岸^北碚^万盛^双挢^渝北^巴南^黔江^长寿^綦江^潼南^铜梁^大足^荣昌^壁山^梁平^城口^丰都^垫江^武隆^忠县^开县^云阳^奉节^巫山^巫溪^石柱^秀山^酉阳^彭水^江津^合川^永川^南川"<br />
&nbsp;+"**贵州((贵阳^六盘水^遵义^安顺^铜仁^黔西南^毕节^黔东南^黔南"<br />
&nbsp;+"**云南((昆明^大理^曲靖^玉溪^昭通^楚雄^红河^文山^思茅^西双版纳^保山^德宏^丽江^怒江^迪庆^临沧"<br />
&nbsp;+"**西藏((拉萨^日喀则^山南^林芝^昌都^阿里^那曲"<br />
+"||西北地区{{"<br />
&nbsp;+"陕西((西安^宝鸡^咸阳^铜川^渭南^延安^榆林^汉中^安康^商洛"<br />
&nbsp;+"**甘肃((兰州^嘉峪关^金昌^白银^天水^酒泉^张掖^武威^定西^陇南^平凉^庆阳^临夏^甘南"<br />
&nbsp;+"**宁夏((银川^石嘴山^吴忠^固原"<br />
&nbsp;+"**青海((西宁^海东^海南^海北^黄南^玉树^果洛^海西"<br />
&nbsp;+"**新疆((乌鲁木齐^石河子^克拉玛依^伊犁^巴音郭勒^昌吉^克孜勒苏柯尔克孜^博尔塔拉^吐鲁番^哈密^喀什^和田^阿克苏"<br />
+"||华东地区{{"<br />
&nbsp;+"上海((黄浦^卢湾^徐汇^长宁^静安^普陀^闸北^虹口^杨浦^闵行^宝山^嘉定^浦东^金山^松江^青浦^南汇^奉贤^崇明"<br />
&nbsp;+"**江苏((南京^镇江^苏州^南通^扬州^盐城^徐州^连云港^常州^无锡^宿迁^泰州^淮安"<br />
&nbsp;+"**浙江((杭州^宁波^温州^嘉兴^湖州^绍兴^金华^衢州^舟山^台州^丽水"<br />
&nbsp;+"**安徽((合肥^芜湖^蚌埠^马鞍山^淮北^铜陵^安庆^黄山^滁州^宿州^池州^淮南^巢湖^阜阳^六安^宣城^亳州"<br />
&nbsp;+"**江西((南昌市^景德镇^九江^鹰潭^萍乡^新馀^赣州^吉安^宜春^抚州^上饶"<br />
+"||港澳台地区{{"<br />
&nbsp;+"香港((香港"<br />
&nbsp;+"**澳门((澳门"<br />
&nbsp;+"**台湾((台北^高雄^台中^台南^屏东^南投^云林^新竹^彰化^苗栗^嘉义^花莲^桃园^宜兰^基隆^台东^金门^马祖^澎湖"<br />
+"||其它地区{{"<br />
&nbsp;+"其它((其它"<br />
//--&gt;<br />
&lt;/SCRIPT&gt;<br />
<br />
</p>
<p><strong style="font-size: 18pt; color: red">以下代码加到body中（简要说明之前）</strong><br />
&lt;FORM name="HwForm"&gt;<br />
&lt;HR&gt;选择一次&lt;br&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
CreateSelect("","S_13|S_23|S_33","","请选择地区@|请选择省份@|请选择城市@",AllStr1,0);<br />
&lt;/SCRIPT&gt;</p>
<p>&lt;HR&gt;选择三次&lt;br&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
CreateSelect("HwForm","S_1|S_2|S_3","华北地区|山东|济宁","请选择地区@|请选择省份@|请选择城市@",AllStr1,3);<br />
&lt;/SCRIPT&gt;</p>
<p>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
&lt;!--<br />
var AllStr2 = ""<br />
+"笔记本{{"<br />
&nbsp;+"IBM((R32^T40^T42"<br />
&nbsp;+"**DELL((N600^M600"<br />
+"||数码相机{{"<br />
&nbsp;+"CANON((A75^A80^A85"<br />
&nbsp;+"**SONY((S80^S60"<br />
//--&gt;<br />
&lt;/SCRIPT&gt;</p>
<p>&lt;HR&gt;选择二次&lt;br&gt;&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
CreateSelect("HwForm","S_11|S_21|S_31","笔记本|IBM|T42","请选择分类@|请选择品牌@|请选择系列@",AllStr2,2);<br />
&lt;/SCRIPT&gt;</p>
<p><br />
&lt;HR&gt;选择二次&lt;br&gt;&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
CreateSelect("HwForm","S_12|S_22|S_32","","请选择分类@|请选择品牌@|请选择系列@",AllStr2,1);<br />
&lt;/SCRIPT&gt;<br />
&lt;/FORM&gt;<br />
</p>
<h1>简要说明：</h1>
<p><span style="font-size: 12pt">&lt;FORM name="<font color="#ff0000">HwForm</font>"&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
CreateSelect("<font color="#ff0000">HwForm</font>","<font color="#ff0000">S_1|S_2|S_3</font>","华北地区|山东|济宁","请选择地区@|请选择省份@|请选择城市@",AllStr1,3);<br />
&lt;/SCRIPT&gt;<br />
&lt;/FORM&gt;</span></p>
<p><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-size: 10pt"><span style="font-size: 12pt"><font color="#ff0000">HwForm</font>是表单的名字</span></span></span></span></p>
<p><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-size: 10pt"><span style="font-size: 12pt">而</span></span></span></span></p>
<p><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-size: 10pt"><span style="font-size: 12pt"><font color="#ff0000">S_1|S_2|S_3</font>是三个Select表单的名字，如果在js中，可以用doucment.HwForm.S_1.value得到选中的一级的值</span></span></span></span></p>
<p><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-size: 10pt"><span style="font-size: 12pt">如果在asp中，可以用Request("S_3")得到选中的三级值</span></span></span></span></p>
<img src ="http://www.blogjava.net/shichengjun1984/aggbug/154113.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shichengjun1984/" target="_blank">I LOVE JAVA</a> 2007-10-19 10:41 <a href="http://www.blogjava.net/shichengjun1984/archive/2007/10/19/154113.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用Java转化汉字为拼音全拼</title><link>http://www.blogjava.net/shichengjun1984/archive/2007/10/09/151458.html</link><dc:creator>I LOVE JAVA</dc:creator><author>I LOVE JAVA</author><pubDate>Tue, 09 Oct 2007 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/shichengjun1984/archive/2007/10/09/151458.html</guid><wfw:comment>http://www.blogjava.net/shichengjun1984/comments/151458.html</wfw:comment><comments>http://www.blogjava.net/shichengjun1984/archive/2007/10/09/151458.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/shichengjun1984/comments/commentRss/151458.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shichengjun1984/services/trackbacks/151458.html</trackback:ping><description><![CDATA[<div class="NewsContent" id="NewsContentLabel">package com.easydozer.commons.util;<br />
<br />
import java.util.Iterator;<br />
import java.util.LinkedHashMap;<br />
import java.util.Set;<br />
<br />
/**<br />
* &lt;pre&gt;汉字转化为全拼&lt;/pre&gt;<br />
* &lt;BR&gt;&lt;DL&gt;&lt;DT&gt;&lt;B&gt;JDK版本:&lt;/B&gt;&lt;/DT&gt;&lt;BR&gt;&lt;DD&gt;1.4&lt;/DD&gt;&lt;/DL&gt;<br />
* @author 谢计生<br />
* @version 1.0<br />
* @see <br />
* @since 1.0<br />
*/<br />
public class CnToSpell<br />
{<br />
private static LinkedHashMap spellMap = null;<br />
<br />
static<br />
{<br />
if(spellMap == null){<br />
spellMap = new LinkedHashMap(400);<br />
}<br />
initialize();<br />
System.out.println("Chinese transfer Spell Done.");<br />
}<br />
<br />
private CnToSpell()<br />
{<br />
}<br />
<br />
private static void spellPut(String spell,int ascii)<br />
{<br />
spellMap.put(spell,new Integer(ascii));<br />
}<br />
<br />
private static void initialize()<br />
{<br />
spellPut("a", -20319);<br />
spellPut("ai", -20317);<br />
spellPut("an", -20304);<br />
spellPut("ang", -20295);<br />
spellPut("ao", -20292);<br />
spellPut("ba", -20283);<br />
spellPut("bai", -20265);<br />
spellPut("ban", -20257);<br />
spellPut("bang", -20242);<br />
spellPut("bao", -20230);<br />
spellPut("bei", -20051);<br />
spellPut("ben", -20036);<br />
spellPut("beng", -20032);<br />
spellPut("bi", -20026);<br />
spellPut("bian", -20002);<br />
spellPut("biao", -19990);<br />
spellPut("bie", -19986);<br />
spellPut("bin", -19982);<br />
spellPut("bing", -19976);<br />
spellPut("bo", -19805);<br />
spellPut("bu", -19784);<br />
spellPut("ca", -19775);<br />
spellPut("cai", -19774);<br />
spellPut("can", -19763);<br />
spellPut("cang", -19756);<br />
spellPut("cao", -19751);<br />
spellPut("ce", -19746);<br />
spellPut("ceng", -19741);<br />
spellPut("cha", -19739);<br />
spellPut("chai", -19728);<br />
spellPut("chan", -19725);<br />
spellPut("chang", -19715);<br />
spellPut("chao", -19540);<br />
spellPut("che", -19531);<br />
spellPut("chen", -19525);<br />
spellPut("cheng", -19515);<br />
spellPut("chi", -19500);<br />
spellPut("chong", -19484);<br />
spellPut("chou", -19479);<br />
spellPut("chu", -19467);<br />
spellPut("chuai", -19289);<br />
spellPut("chuan", -19288);<br />
spellPut("chuang", -19281);<br />
spellPut("chui", -19275);<br />
spellPut("chun", -19270);<br />
spellPut("chuo", -19263);<br />
spellPut("ci", -19261);<br />
spellPut("cong", -19249);<br />
spellPut("cou", -19243);<br />
spellPut("cu", -19242);<br />
spellPut("cuan", -19238);<br />
spellPut("cui", -19235);<br />
spellPut("cun", -19227);<br />
spellPut("cuo", -19224);<br />
spellPut("da", -19218);<br />
spellPut("dai", -19212);<br />
spellPut("dan", -19038);<br />
spellPut("dang", -19023);<br />
spellPut("dao", -19018);<br />
spellPut("de", -19006);<br />
spellPut("deng", -19003);<br />
spellPut("di", -18996);<br />
spellPut("dian", -18977);<br />
spellPut("diao", -18961);<br />
spellPut("die", -18952);<br />
spellPut("ding", -18783);<br />
spellPut("diu", -18774);<br />
spellPut("dong", -18773);<br />
spellPut("dou", -18763);<br />
spellPut("du", -18756);<br />
spellPut("duan", -18741);<br />
spellPut("dui", -18735);<br />
spellPut("dun", -18731);<br />
spellPut("duo", -18722);<br />
spellPut("e", -18710);<br />
spellPut("en", -18697);<br />
spellPut("er", -18696);<br />
spellPut("fa", -18526);<br />
spellPut("fan", -18518);<br />
spellPut("fang", -18501);<br />
spellPut("fei", -18490);<br />
spellPut("fen", -18478);<br />
spellPut("feng", -18463);<br />
spellPut("fo", -18448);<br />
spellPut("fou", -18447);<br />
spellPut("fu", -18446);<br />
spellPut("ga", -18239);<br />
spellPut("gai", -18237);<br />
spellPut("gan", -18231);<br />
spellPut("gang", -18220);<br />
spellPut("gao", -18211);<br />
spellPut("ge", -18201);<br />
spellPut("gei", -18184);<br />
spellPut("gen", -18183);<br />
spellPut("geng", -18181);<br />
spellPut("gong", -18012);<br />
spellPut("gou", -17997);<br />
spellPut("gu", -17988);<br />
spellPut("gua", -17970);<br />
spellPut("guai", -17964);<br />
spellPut("guan", -17961);<br />
spellPut("guang", -17950);<br />
spellPut("gui", -17947);<br />
spellPut("gun", -17931);<br />
spellPut("guo", -17928);<br />
spellPut("ha", -17922);<br />
spellPut("hai", -17759);<br />
spellPut("han", -17752);<br />
spellPut("hang", -17733);<br />
spellPut("hao", -17730);<br />
spellPut("he", -17721);<br />
spellPut("hei", -17703);<br />
spellPut("hen", -17701);<br />
spellPut("heng", -17697);<br />
spellPut("hong", -17692);<br />
spellPut("hou", -17683);<br />
spellPut("hu", -17676);<br />
spellPut("hua", -17496);<br />
spellPut("huai", -17487);<br />
spellPut("huan", -17482);<br />
spellPut("huang", -17468);<br />
spellPut("hui", -17454);<br />
spellPut("hun", -17433);<br />
spellPut("huo", -17427);<br />
spellPut("ji", -17417);<br />
spellPut("jia", -17202);<br />
spellPut("jian", -17185);<br />
spellPut("jiang", -16983);<br />
spellPut("jiao", -16970);<br />
spellPut("jie", -16942);<br />
spellPut("jin", -16915);<br />
spellPut("jing", -16733);<br />
spellPut("jiong", -16708);<br />
spellPut("jiu", -16706);<br />
spellPut("ju", -16689);<br />
spellPut("juan", -16664);<br />
spellPut("jue", -16657);<br />
spellPut("jun", -16647);<br />
spellPut("ka", -16474);<br />
spellPut("kai", -16470);<br />
spellPut("kan", -16465);<br />
spellPut("kang", -16459);<br />
spellPut("kao", -16452);<br />
spellPut("ke", -16448);<br />
spellPut("ken", -16433);<br />
spellPut("keng", -16429);<br />
spellPut("kong", -16427);<br />
spellPut("kou", -16423);<br />
spellPut("ku", -16419);<br />
spellPut("kua", -16412);<br />
spellPut("kuai", -16407);<br />
spellPut("kuan", -16403);<br />
spellPut("kuang", -16401);<br />
spellPut("kui", -16393);<br />
spellPut("kun", -16220);<br />
spellPut("kuo", -16216);<br />
spellPut("la", -16212);<br />
spellPut("lai", -16205);<br />
spellPut("lan", -16202);<br />
spellPut("lang", -16187);<br />
spellPut("lao", -16180);<br />
spellPut("le", -16171);<br />
spellPut("lei", -16169);<br />
spellPut("leng", -16158);<br />
spellPut("li", -16155);<br />
spellPut("lia", -15959);<br />
spellPut("lian", -15958);<br />
spellPut("liang", -15944);<br />
spellPut("liao", -15933);<br />
spellPut("lie", -15920);<br />
spellPut("lin", -15915);<br />
spellPut("ling", -15903);<br />
spellPut("liu", -15889);<br />
spellPut("long", -15878);<br />
spellPut("lou", -15707);<br />
spellPut("lu", -15701);<br />
spellPut("lv", -15681);<br />
spellPut("luan", -15667);<br />
spellPut("lue", -15661);<br />
spellPut("lun", -15659);<br />
spellPut("luo", -15652);<br />
spellPut("ma", -15640);<br />
spellPut("mai", -15631);<br />
spellPut("man", -15625);<br />
spellPut("mang", -15454);<br />
spellPut("mao", -15448);<br />
spellPut("me", -15436);<br />
spellPut("mei", -15435);<br />
spellPut("men", -15419);<br />
spellPut("meng", -15416);<br />
spellPut("mi", -15408);<br />
spellPut("mian", -15394);<br />
spellPut("miao", -15385);<br />
spellPut("mie", -15377);<br />
spellPut("min", -15375);<br />
spellPut("ming", -15369);<br />
spellPut("miu", -15363);<br />
spellPut("mo", -15362);<br />
spellPut("mou", -15183);<br />
spellPut("mu", -15180);<br />
spellPut("na", -15165);<br />
spellPut("nai", -15158);<br />
spellPut("nan", -15153);<br />
spellPut("nang", -15150);<br />
spellPut("nao", -15149);<br />
spellPut("ne", -15144);<br />
spellPut("nei", -15143);<br />
spellPut("nen", -15141);<br />
spellPut("neng", -15140);<br />
spellPut("ni", -15139);<br />
spellPut("nian", -15128);<br />
spellPut("niang", -15121);<br />
spellPut("niao", -15119);<br />
spellPut("nie", -15117);<br />
spellPut("nin", -15110);<br />
spellPut("ning", -15109);<br />
spellPut("niu", -14941);<br />
spellPut("nong", -14937);<br />
spellPut("nu", -14933);<br />
spellPut("nv", -14930);<br />
spellPut("nuan", -14929);<br />
spellPut("nue", -14928);<br />
spellPut("nuo", -14926);<br />
spellPut("o", -14922);<br />
spellPut("ou", -14921);<br />
spellPut("pa", -14914);<br />
spellPut("pai", -14908);<br />
spellPut("pan", -14902);<br />
spellPut("pang", -14894);<br />
spellPut("pao", -14889);<br />
spellPut("pei", -14882);<br />
spellPut("pen", -14873);<br />
spellPut("peng", -14871);<br />
spellPut("pi", -14857);<br />
spellPut("pian", -14678);<br />
spellPut("piao", -14674);<br />
spellPut("pie", -14670);<br />
spellPut("pin", -14668);<br />
spellPut("ping", -14663);<br />
spellPut("po", -14654);<br />
spellPut("pu", -14645);<br />
spellPut("qi", -14630);<br />
spellPut("qia", -14594);<br />
spellPut("qian", -14429);<br />
spellPut("qiang", -14407);<br />
spellPut("qiao", -14399);<br />
spellPut("qie", -14384);<br />
spellPut("qin", -14379);<br />
spellPut("qing", -14368);<br />
spellPut("qiong", -14355);<br />
spellPut("qiu", -14353);<br />
spellPut("qu", -14345);<br />
spellPut("quan", -14170);<br />
spellPut("que", -14159);<br />
spellPut("qun", -14151);<br />
spellPut("ran", -14149);<br />
spellPut("rang", -14145);<br />
spellPut("rao", -14140);<br />
spellPut("re", -14137);<br />
spellPut("ren", -14135);<br />
spellPut("reng", -14125);<br />
spellPut("ri", -14123);<br />
spellPut("rong", -14122);<br />
spellPut("rou", -14112);<br />
spellPut("ru", -14109);<br />
spellPut("ruan", -14099);<br />
spellPut("rui", -14097);<br />
spellPut("run", -14094);<br />
spellPut("ruo", -14092);<br />
spellPut("sa", -14090);<br />
spellPut("sai", -14087);<br />
spellPut("san", -14083);<br />
spellPut("sang", -13917);<br />
spellPut("sao", -13914);<br />
spellPut("se", -13910);<br />
spellPut("sen", -13907);<br />
spellPut("seng", -13906);<br />
spellPut("sha", -13905);<br />
spellPut("shai", -13896);<br />
spellPut("shan", -13894);<br />
spellPut("shang", -13878);<br />
spellPut("shao", -13870);<br />
spellPut("she", -13859);<br />
spellPut("shen", -13847);<br />
spellPut("sheng", -13831);<br />
spellPut("shi", -13658);<br />
spellPut("shou", -13611);<br />
spellPut("shu", -13601);<br />
spellPut("shua", -13406);<br />
spellPut("shuai", -13404);<br />
spellPut("shuan", -13400);<br />
spellPut("shuang", -13398);<br />
spellPut("shui", -13395);<br />
spellPut("shun", -13391);<br />
spellPut("shuo", -13387);<br />
spellPut("si", -13383);<br />
spellPut("song", -13367);<br />
spellPut("sou", -13359);<br />
spellPut("su", -13356);<br />
spellPut("suan", -13343);<br />
spellPut("sui", -13340);<br />
spellPut("sun", -13329);<br />
spellPut("suo", -13326);<br />
spellPut("ta", -13318);<br />
spellPut("tai", -13147);<br />
spellPut("tan", -13138);<br />
spellPut("tang", -13120);<br />
spellPut("tao", -13107);<br />
spellPut("te", -13096);<br />
spellPut("teng", -13095);<br />
spellPut("ti", -13091);<br />
spellPut("tian", -13076);<br />
spellPut("tiao", -13068);<br />
spellPut("tie", -13063);<br />
spellPut("ting", -13060);<br />
spellPut("tong", -12888);<br />
spellPut("tou", -12875);<br />
spellPut("tu", -12871);<br />
spellPut("tuan", -12860);<br />
spellPut("tui", -12858);<br />
spellPut("tun", -12852);<br />
spellPut("tuo", -12849);<br />
spellPut("wa", -12838);<br />
spellPut("wai", -12831);<br />
spellPut("wan", -12829);<br />
spellPut("wang", -12812);<br />
spellPut("wei", -12802);<br />
spellPut("wen", -12607);<br />
spellPut("weng", -12597);<br />
spellPut("wo", -12594);<br />
spellPut("wu", -12585);<br />
spellPut("xi", -12556);<br />
spellPut("xia", -12359);<br />
spellPut("xian", -12346);<br />
spellPut("xiang", -12320);<br />
spellPut("xiao", -12300);<br />
spellPut("xie", -12120);<br />
spellPut("xin", -12099);<br />
spellPut("xing", -12089);<br />
spellPut("xiong", -12074);<br />
spellPut("xiu", -12067);<br />
spellPut("xu", -12058);<br />
spellPut("xuan", -12039);<br />
spellPut("xue", -11867);<br />
spellPut("xun", -11861);<br />
spellPut("ya", -11847);<br />
spellPut("yan", -11831);<br />
spellPut("yang", -11798);<br />
spellPut("yao", -11781);<br />
spellPut("ye", -11604);<br />
spellPut("yi", -11589);<br />
spellPut("yin", -11536);<br />
spellPut("ying", -11358);<br />
spellPut("yo", -11340);<br />
spellPut("yong", -11339);<br />
spellPut("you", -11324);<br />
spellPut("yu", -11303);<br />
spellPut("yuan", -11097);<br />
spellPut("yue", -11077);<br />
spellPut("yun", -11067);<br />
spellPut("za", -11055);<br />
spellPut("zai", -11052);<br />
spellPut("zan", -11045);<br />
spellPut("zang", -11041);<br />
spellPut("zao", -11038);<br />
spellPut("ze", -11024);<br />
spellPut("zei", -11020);<br />
spellPut("zen", -11019);<br />
spellPut("zeng", -11018);<br />
spellPut("zha", -11014);<br />
spellPut("zhai", -10838);<br />
spellPut("zhan", -10832);<br />
spellPut("zhang", -10815);<br />
spellPut("zhao", -10800);<br />
spellPut("zhe", -10790);<br />
spellPut("zhen", -10780);<br />
spellPut("zheng", -10764);<br />
spellPut("zhi", -10587);<br />
spellPut("zhong", -10544);<br />
spellPut("zhou", -10533);<br />
spellPut("zhu", -10519);<br />
spellPut("zhua", -10331);<br />
spellPut("zhuai", -10329);<br />
spellPut("zhuan", -10328);<br />
spellPut("zhuang", -10322);<br />
spellPut("zhui", -10315);<br />
spellPut("zhun", -10309);<br />
spellPut("zhuo", -10307);<br />
spellPut("zi", -10296);<br />
spellPut("zong", -10281);<br />
spellPut("zou", -10274);<br />
spellPut("zu", -10270);<br />
spellPut("zuan", -10262);<br />
spellPut("zui", -10260);<br />
spellPut("zun", -10256);<br />
spellPut("zuo", -10254);<br />
}<br />
<br />
/**<br />
* 获得单个汉字的Ascii.<br />
* @param cn char<br />
* 汉字字符<br />
* @return int<br />
* 错误返回 0,否则返回ascii<br />
*/<br />
public static int getCnAscii(char cn)<br />
{<br />
byte[] bytes = (String.valueOf(cn)).getBytes();<br />
if(bytes == null || bytes.length &gt; 2 || bytes.length &lt;= 0){ //错误<br />
return 0;<br />
}<br />
if(bytes.length == 1){ //英文字符<br />
return bytes[0];<br />
}<br />
if(bytes.length == 2){ //中文字符<br />
int hightByte = 256 + bytes[0];<br />
int lowByte = 256 + bytes[1];<br />
<br />
int ascii = (256 * hightByte + lowByte) - 256 * 256;<br />
<br />
//System.out.println("ASCII=" + ascii);<br />
<br />
return ascii;<br />
}<br />
<br />
return 0; //错误<br />
}<br />
<br />
/**<br />
* 根据ASCII码到SpellMap中查找对应的拼音<br />
* @param ascii int<br />
* 字符对应的ASCII<br />
* @return String<br />
* 拼音,首先判断ASCII是否&gt;0&amp;&lt;160,如果是返回对应的字符,<br />
* &lt;BR&gt;否则到SpellMap中查找,如果没有找到拼音,则返回null,如果找到则返回拼音.<br />
*/<br />
public static String getSpellByAscii(int ascii)<br />
{<br />
if(ascii &gt; 0 &amp;&amp; ascii &lt; 160){ //单字符<br />
return String.valueOf((char)ascii);<br />
}<br />
<br />
if(ascii &lt; -20319 || ascii &gt; -10247){ //不知道的字符<br />
return null;<br />
}<br />
<br />
Set keySet = spellMap.keySet();<br />
Iterator it = keySet.iterator();<br />
<br />
String spell0 = null;;<br />
String spell = null;<br />
<br />
int asciiRang0 = -20319;<br />
int asciiRang;<br />
while(it.hasNext()){<br />
<br />
spell = (String)it.next();<br />
Object valObj = spellMap.get(spell);<br />
if(valObj instanceof Integer){<br />
asciiRang = ((Integer)valObj).intValue();<br />
<br />
if(ascii &gt;= asciiRang0 &amp;&amp; ascii &lt; asciiRang){ //区间找到<br />
return(spell0 == null) ? spell : spell0;<br />
}<br />
else{<br />
spell0 = spell;<br />
asciiRang0 = asciiRang;<br />
}<br />
}<br />
}<br />
<br />
return null;<br />
<br />
}<br />
<br />
/**<br />
* 返回字符串的全拼,是汉字转化为全拼,其它字符不进行转换<br />
* @param cnStr String<br />
* 字符串<br />
* @return String<br />
* 转换成全拼后的字符串<br />
*/<br />
public static String getFullSpell(String cnStr)<br />
{<br />
if(null == cnStr || "".equals(cnStr.trim())){<br />
return cnStr;<br />
}<br />
<br />
char[] chars = cnStr.toCharArray();<br />
StringBuffer retuBuf = new StringBuffer();<br />
for(int i = 0,Len = chars.length;i &lt; Len;i++){<br />
int ascii = getCnAscii(chars[i]);<br />
if(ascii == 0){ //取ascii时出错<br />
retuBuf.append(chars[i]);<br />
}<br />
else{<br />
String spell = getSpellByAscii(ascii);<br />
if(spell == null){<br />
retuBuf.append(chars[i]);<br />
}<br />
else{<br />
retuBuf.append(spell);<br />
} // end of if spell == null<br />
} // end of if ascii &lt;= -20400<br />
} // end of for<br />
<br />
return retuBuf.toString();<br />
}<br />
<br />
public static String getFirstSpell(String cnStr)<br />
{<br />
return null;<br />
}<br />
<br />
public static void main(String[] args)<br />
{<br />
String str = null;<br />
str = "谢海101普降喜雨";<br />
System.out.println("Spell=" + CnToSpell.getFullSpell(str));<br />
<br />
str = "张牙舞爪》。，";<br />
System.out.println("Spell=" + CnToSpell.getFullSpell(str));<br />
<br />
str = "李鹏，可耻下场。";<br />
System.out.println("Spell=" + CnToSpell.getFullSpell(str));<br />
<br />
str = "猪油，猪八戒。";<br />
System.out.println("Spell=" + CnToSpell.getFullSpell(str));<br />
}<br />
}<br />
</div>
<img src ="http://www.blogjava.net/shichengjun1984/aggbug/151458.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shichengjun1984/" target="_blank">I LOVE JAVA</a> 2007-10-09 17:17 <a href="http://www.blogjava.net/shichengjun1984/archive/2007/10/09/151458.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Criteria 笔记</title><link>http://www.blogjava.net/shichengjun1984/archive/2007/09/24/147793.html</link><dc:creator>I LOVE JAVA</dc:creator><author>I LOVE JAVA</author><pubDate>Mon, 24 Sep 2007 06:50:00 GMT</pubDate><guid>http://www.blogjava.net/shichengjun1984/archive/2007/09/24/147793.html</guid><wfw:comment>http://www.blogjava.net/shichengjun1984/comments/147793.html</wfw:comment><comments>http://www.blogjava.net/shichengjun1984/archive/2007/09/24/147793.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shichengjun1984/comments/commentRss/147793.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shichengjun1984/services/trackbacks/147793.html</trackback:ping><description><![CDATA[<p>来自：<a class="titlink" title="lovefanx的空间 http://hi.baidu.com/lovefanx" href="http://hi.baidu.com/lovefanx">徽骆驼</a><br />
<br />
Criteria Query <br />
可以看作传统sql的对象化表示</p>
<p>Criteria 可以由session创建<br />
Criteria ct= session.createCriteria(TUser.class);</p>
<p>Criteria中可以增加查询条件<br />
ct.add(Expression.eq("name","Erica"));<br />
ct.add(Expression.eq("sex",new Integer(1)));</p>
<p>Criteria中增加的查询条件可以由表达式对象创建<br />
Expression.eq(对象属性名，对象属性值);</p>
<p>查询条件通过Criteria的add方法加入。</p>
<p>表达式对象的方法有：<br />
eq&nbsp;&nbsp;等于，第一个参数是对象属性，第二个参数是值<br />
allEq&nbsp;&nbsp;参数为一个Map对象，相当于多个eq的叠加<br />
gt&nbsp;&nbsp;大于<br />
ge&nbsp;&nbsp;大于等于<br />
lt&nbsp;&nbsp;&lt;<br />
le&nbsp;&nbsp;&lt;=<br />
between&nbsp;&nbsp;在两个值之间Expression.between("age",new Integer(10),new Integer(20));<br />
like&nbsp;&nbsp;like查询<br />
in &nbsp;&nbsp;in查询<br />
eqProperty&nbsp;用于比较两个对象的属性的值是否相等<br />
gtProperty&nbsp;<br />
geProperty<br />
ltProperty<br />
leProperty<br />
and&nbsp;&nbsp;and方法可以嵌套Expression对象，用于and关系<br />
or&nbsp;&nbsp;同上<br />
&nbsp;&nbsp;如：Expression.or(<br />
&nbsp;&nbsp;&nbsp;Expression.eq("name","hulei"),<br />
&nbsp;&nbsp;&nbsp;Expression.eq("name","jane")<br />
&nbsp;&nbsp;&nbsp;);<br />
sql&nbsp;&nbsp;作为Expression对象的补充，本方法提供对原生sql的支持</p>
<p>***注意，在Hibernate3中，引入了Restrictions类作为Expression的替代，以后的版本，不再推荐使用Expression。<br />
***但是，Restrictions类的使用方法和Expression的方法一致。</p>
<p>注意，在查询条件中，Hibernate提供了一个Example查询，当查询条件比较多的时候，<br />
可以用Example查询来简化代码，使用方法如下：<br />
TUser user=new TUser();<br />
user.setLoginName("hulei");<br />
user.setPassword("hulei");<br />
Criteria ct=session.createCriteria(TUser.class);<br />
ct.add(Example.create(user));<br />
return ct.list();</p>
<p><br />
复合查询<br />
Criteria查询可以嵌套Criteria来实现复合查询<br />
如下：<br />
Criteria ct=session.createCriteria(TUser.class);<br />
Criteria ctAddress=ct.createCriteria("addresses");//这里是嵌套了一个Criteria查询,这里的addresses是TUser的属性<br />
ctAddress.add(Expression.like("address","%shanghai%"));<br />
List list=ct.list();</p>
<img src ="http://www.blogjava.net/shichengjun1984/aggbug/147793.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shichengjun1984/" target="_blank">I LOVE JAVA</a> 2007-09-24 14:50 <a href="http://www.blogjava.net/shichengjun1984/archive/2007/09/24/147793.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]tomcat中MySQL连接池配置 </title><link>http://www.blogjava.net/shichengjun1984/archive/2007/09/24/147787.html</link><dc:creator>I LOVE JAVA</dc:creator><author>I LOVE JAVA</author><pubDate>Mon, 24 Sep 2007 06:29:00 GMT</pubDate><guid>http://www.blogjava.net/shichengjun1984/archive/2007/09/24/147787.html</guid><wfw:comment>http://www.blogjava.net/shichengjun1984/comments/147787.html</wfw:comment><comments>http://www.blogjava.net/shichengjun1984/archive/2007/09/24/147787.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shichengjun1984/comments/commentRss/147787.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shichengjun1984/services/trackbacks/147787.html</trackback:ping><description><![CDATA[来源：feng - BlogJava<br />
<br />
　　由于直接编辑server.xml配置连接池很容易出现错误，我估计是tomcat版本问题，没个版本可能配置有点点差别，所以我建议使用在http://localhost/admin/中进行数据源的配置，下载tomcat的admin包，安装过程如下<br />
<br />
　　下载下来进行解压，得到三个文件，和两个包，一个叫conf包，另外一个叫做server包。<br />
<br />
　　接着进行安装：那三个单独的文件不用管；把conf\Catalina\localhost\下面的一个配置文件admin.xml放在你tomcat安装目录下面的Tomcat 5.5\conf\Catalina\localhost\这个路径下，即跟host-manage.xml,manager.xml放在一起；再把server\webapps\下面的admin包拷贝到你的tomcat安装目录下的Tomcat 5.5\server\webapps\这个路径下面跟host-manager，manager包放在一块。<br />
<br />
　　安装搞定，重新启动tomcat，在地址栏输入http://localhost/admin/,在出现的截面里面输入你安装tomcat的时候你输入的用户名和密码。<br />
<br />
　　登录成功后，会出现Tomcat 的web应用管理界面（Tomcat Web Server Administration Tool）。<br />
<br />
　　然后在左边的目录树点击&#8220;Data Sources&#8221;项，右边可以看到JNDI配置的页面。<br />
<br />
　　在右上角的下拉框中选择&#8220;Create New Data Source&#8221;，接下来填写配置信息：<br />
<br />
JNDI Name: jdbc/feng /*连接池的名称*/ <br />
Data Source URL: jdbc:mysql://localhost:3306/bbs /*bbs为数据库的名称*/<br />
JDBC Driver Class: com.mysql.jdbc.Driver<br />
User Name: root<br />
Password: feng<br />
Max. Active Connections: 可用默认值 <br />
Max. Idle Connections: 可用默认值<br />
Max. Wait for Connection: 可用默认值<br />
Validation Query: 可不填写。<br />
<br />
　　然后，按下&#8220;save&#8221;按钮保存。<br />
<br />
　　再按下&#8220;Commit Changes&#8221;按钮将配置更改提交完成。<br />
<br />
　　下面这步比较重要，不加就会出现错误<br />
<br />
　　在＜Context＞＜/Context＞的描述中加上本web应用对全局连接池的引用说明，如下文字：<br />
<br />
＜ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/＞ <br />
<br />
　　一般都是加在虚拟目录里<br />
<br />
　　类似下面<br />
<br />
＜Context<br />
crossContext="true"<br />
docBase="D:/feng"<br />
path="/feng"<br />
reloadable="true"＞<br />
<br />
<br />
＜ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/＞<br />
＜/Context＞<br />
<br />
　　上面完成后，还需要配置对应虚拟目录WEB应用的web.xml<br />
<br />
　　内容可以参考下面<br />
<br />
＜web-app＞<br />
＜resource-ref＞<br />
＜description＞MySQL DataSource example＜/description＞<br />
＜res-ref-name＞jdbc/feng＜/res-ref-name＞<br />
＜res-type＞javax.sql.DataSource＜/res-type＞<br />
＜res-auth＞Container＜/res-auth＞<br />
＜/resource-ref＞<br />
＜/web-app＞<br />
<br />
　　保存D:\feng\WEB-INF\web.xml 文件<br />
<br />
　　应用示例<br />
<br />
＜%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%＞<br />
＜%@ page contentType="text/html; charset=GB2312"%＞<br />
＜html＞<br />
＜head＞＜title＞DataSourse Connection Test＜/title＞＜/head＞<br />
＜body＞<br />
＜%<br />
try{<br />
Connection con; <br />
Statement stmt; <br />
ResultSet rs; <br />
<br />
Context ctx = new InitialContext(); <br />
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/feng"); <br />
con=ds.getConnection(); <br />
<br />
stmt=con.createStatement(); <br />
rs=stmt.executeQuery("select * from user"); <br />
while(rs.next()){<br />
out.println(rs.getString(1)); <br />
%＞<br />
＜br＞<br />
<br />
＜%<br />
<br />
out.print(rs.getString(2)); <br />
}<br />
rs.close(); <br />
stmt.close(); <br />
con.close(); <br />
<br />
}catch(Exception e){<br />
out.print(e.getMessage()); <br />
}<br />
<br />
%＞ <br />
<br />
＜/body＞<br />
＜/html＞ 
<img src ="http://www.blogjava.net/shichengjun1984/aggbug/147787.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shichengjun1984/" target="_blank">I LOVE JAVA</a> 2007-09-24 14:29 <a href="http://www.blogjava.net/shichengjun1984/archive/2007/09/24/147787.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IT</title><link>http://www.blogjava.net/shichengjun1984/archive/2007/04/12/110264.html</link><dc:creator>I LOVE JAVA</dc:creator><author>I LOVE JAVA</author><pubDate>Thu, 12 Apr 2007 12:04:00 GMT</pubDate><guid>http://www.blogjava.net/shichengjun1984/archive/2007/04/12/110264.html</guid><wfw:comment>http://www.blogjava.net/shichengjun1984/comments/110264.html</wfw:comment><comments>http://www.blogjava.net/shichengjun1984/archive/2007/04/12/110264.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shichengjun1984/comments/commentRss/110264.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shichengjun1984/services/trackbacks/110264.html</trackback:ping><description><![CDATA[IT，曾是技术界最亮丽的一道风景线。<br>　　<br>　　IT，由令人眼花缭乱的界面输出，变幻莫测的后台技术，出神入化的网络联系构成。产生不过几十年，但已经彻底改变了整个世界，时至今日，几乎每一项技术，都离不开IT的支持。我们无法想象，如果没有了IT技术，我们今天会是什么样子？因此有人说，IT不是技术，是一个世界。<br>　　<br>　　没人可以否认IT造就的辉煌和IT时代曾经开创的高薪神话。在dot com时代，美国一个普通的程序员也有7万美圆的年薪，在中国也曾经有40万年薪的CCIE，那时还是90年代。<br>　　<br>　　但IT人员背后的光环掩盖不了他们脸上的疲惫。2006年5月28日晚，年仅25岁的华为工程师胡新宇因长期加班劳累过度，在华为的实验室永远的倒了下去。引发了人们对IT企业和IT技术人员的种种反思。<br>　　<br>　　IT技术的特点一：用户只见结果，不见过程。IT人员之间喜欢吹：看我用的技术，最尖端的Hibernate结构！看我的证书，CCIE、JCIE、 MCSD......！但这只是IT人员之间通行的语言，离开了IT还有几个人听得懂？用户不认这个。用户只看我花多少钱，实现了多少事，用户只看界面是否实用漂亮，不管你是用ASP、JSP或是JAVA；用户只知道网络通还是不通、快还是不快，不管你是用Policy Routing、MPLS还是最简单的Static Routing......简单点说，用户不会问甚至不会理解技术后边的艰辛，只会对IT的效果提出越来越多的要求。<br>　　<br>　　IT技术的特点二：技术更新换代速度太快。Windows95还未用熟，Windows SR2已经在公测，接着就是Windows98；刚刚用熟VB6，又要马上开始学.net；刚熟悉了CISCO IOS12，马上又出了13。其他IT技术也大致如此，有人戏称IT是半年一代产品，几乎每代产品都和上一代略有不同，或完全不一样。<br>　　<br>　　IT技术的特点三：技术消亡太快。95年的时候，如果你熟悉Novell网，必定能找到一份不错的工作；如果你懂配置IBM的TokenRing和 NSA，也很吃香；而懂得将Powerbuilder的DataWindow搬上程序，必定很牛逼。而仅过几年，这些知识除了茶余饭后作为聊资，确实一点用都没有。IT企业在更替，随之而产生的技术也不断更替，你不知道哪个企业能活得更久，自然不会知道哪样技术会在白白地耗掉你今天的时间。<br>　　<br>　　IT技术的特点四：技术几乎没有延续性。没用过window2000的人直接用Windows XP会有困难吗？没写过VB的人学写.net会有困难吗？没配置过CISCO2501的人去学习CISCO7205会有困难吗？答案都是没有或很少。因此，IT的这项特性决定了IT这个行业的竞争比任何一个传统行业都激烈。<br>　　<br>　　IT技术的特点五：总在晚上工作。因为不能干扰白天企业的正常运作，因此IT工作通常要在晚上加班做。<br>　　<br>　　IT技术的这些特性，注定了IT技术人员要不停地奔忙付出，在学习、收获、放弃中轮回。<br>　　<br>　　IT企业同样的困难，企业要生存，就要以最高端的技术为保障。别说是技术人员，就算是老总自己，都要天天去思考企业的倒闭。今年，华为终于超过CISCO，成为网络公司国际专利申请最多的企业，而每一项专利的背后，必定是IT技术人员辛勤的血汗。<br>　　<br>　　IT企业对技术人员进行绩效评估，通常只有两个指标：工作技能和工作量。简单点说技能就是对目前的知识（不是过往的，过往的对你帮助不大）你懂多少，和你干了多少活。这些都是高强度的工作所构成的，不管你当前的技术有多高，经验有多深，只要你一个月不学或不干，你就严重落伍。<br>　　<br>　　在我认识的IT技术人员中，不论年纪高低，不论经验深浅，几乎没有一个不累的。管理人员安排了工作可以去休息，销售人员完成了指标也可以去玩，而IT技术人员，似乎只有不停的工作在等待他。<br>　　<br>　　这就是现状。<br>
<img src ="http://www.blogjava.net/shichengjun1984/aggbug/110264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shichengjun1984/" target="_blank">I LOVE JAVA</a> 2007-04-12 20:04 <a href="http://www.blogjava.net/shichengjun1984/archive/2007/04/12/110264.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>