<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA歷程
    希望我的這個博客能給那些想在java的海洋中拼搏的人有所幫助。謝謝光臨!
    posts - 8,  comments - 6,  trackbacks - 0
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    " <html xmlns="  <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
        <title>WEB頁面導出為EXCEL文檔的方法</title>
    </head>
    <body>
    <table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0">
        <tr>
            <td colspan="5" align="center">WEB頁面導出為EXCEL文檔的方法</td>
        </tr>
        <tr>
            <td>列標題1</td>
            <td>列標題2</td>
            <td>列標題3</td>
            <td>列標題4</td>
            <td>列標題5</td>
        </tr>
        <tr>
            <td>aaa</td>
           <td>bbb</td>
           <td>ccc</td>
            <td>ddd</td>
            <td>eee</td>
      </tr>
        <tr>
            <td>AAA</td>
            <td>BBB</td>
          <td>CCC</td>
             <td>DDD</td>
             <td>EEE</td>
         </tr>
         <tr>
             <td>FFF</td>
            <td>GGG</td>
            <td>HHH</td>
            <td>III</td>
             <td>JJJ</td>
         </tr> 
     </table>
     <input type="button" onclick="javascript:method1('tableExcel');" value="第一種方法導入到EXCEL">
     <input type="button" onclick="javascript:method2('tableExcel');" value="第二種方法導入到EXCEL">
     <input type="button" onclick="javascript:getXlsFromTbl('tableExcel',null);" value="第三種方法導入到EXCEL">
    <SCRIPT LANGUAGE="javascript">
    function method1(tableid) {//整個表格拷貝到EXCEL中
        var curTbl = document.getElementById(tableid);
        var oXL = new ActiveXObject("Excel.Application");
        //創建AX對象excel
        var oWB = oXL.Workbooks.Add();
        //獲取workbook對象
           var oSheet = oWB.ActiveSheet;
        //激活當前sheet
        var sel = document.body.createTextRange();
        sel.moveToElementText(curTbl);
       //把表格中的內容移到TextRange中
        sel.select();
        //全選TextRange中內容
        sel.execCommand("Copy");
        //復制TextRange中內容 
       oSheet.Paste();
        //粘貼到活動的EXCEL中      
        oXL.Visible = true;
        //設置excel可見屬性
    }
     function method2(tableid) //讀取表格中每個單元到EXCEL中
    {
        var curTbl = document.getElementById(tableid);
        var oXL = new ActiveXObject("Excel.Application");
         //創建AX對象excel
        var oWB = oXL.Workbooks.Add();
        //獲取workbook對象
        var oSheet = oWB.ActiveSheet;
        //激活當前sheet
        var Lenr = curTbl.rows.length;
        //取得表格行數
        for (i = 0; i < Lenr; i++)
        {
            var Lenc = curTbl.rows(i).cells.length;
            //取得每行的列數
            for (j = 0; j < Lenc; j++)
            {
                oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText;
                 //賦值
             }
        }
        oXL.Visible = true;
        //設置excel可見屬性
    }
    function getXlsFromTbl(inTblId, inWindow) {
         try {
             var allStr = "";
             var curStr = "";
            // alert("getXlsFromTbl"); //
             if (inTblId != null && inTblId != "" && inTblId != "null") {
                 curStr = getTblData(inTblId, inWindow);
             }
             if (curStr != null) {
                 allStr += curStr;
            }
            else {
                alert("你要導出的表不存在!");
               return;
           }
           var fileName = getExcelFileName();
            doFileExport(fileName, allStr);
        }
        catch(e) {
            alert("導出發生異常:" + e.name + "->" + e.description + "!");
        }
    }
    function getTblData(inTbl, inWindow) {
       var rows = 0;
       // alert("getTblData is " + inWindow); //
        var tblDocument = document;
        if (!!inWindow && inWindow != "") {
            if (!document.all(inWindow)) {
                return null;
            }
            else {
                tblDocument = eval(inWindow).document;
            }
        }
        var curTbl = tblDocument.getElementById(inTbl);
       var outStr = "";
        if (curTbl != null) {
            for (var j = 0; j < curTbl.rows.length; j++) {
                //alert("j is " + j);
                for (var i = 0; i < curTbl.rows[j].cells.length; i++) {
                    //alert("i is " + i);
                   if (i == 0 && rows > 0) {
                       outStr += " \t";
                        rows -= 1;
                    }
                    outStr += curTbl.rows[j].cells[i].innerText + "\t";
                    if (curTbl.rows[j].cells[i].colSpan > 1) {
                        for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) {
                            outStr += " \t";
                        }
                   }
                    if (i == 0) {
                        if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) {
                            rows = curTbl.rows[j].cells[i].rowSpan - 1;
                        }
                    }
                }
               outStr += "\r\n";
            }
        }
        else {
            outStr = null;
            alert(inTbl + "不存在!");
        }
    }
    function getExcelFileName() {
        var d = new Date();
        var curYear = d.getYear();
        var curMonth = "" + (d.getMonth() + 1);
        var curDate = "" + d.getDate();
        var curHour = "" + d.getHours();
        var curMinute = "" + d.getMinutes();
        var curSecond = "" + d.getSeconds();
        if (curMonth.length == 1) {
            curMonth = "0" + curMonth;
        }
        if (curDate.length == 1) {
            curDate = "0" + curDate;
        }
        if (curHour.length == 1) {
           curHour = "0" + curHour;
        }
        if (curMinute.length == 1) {
            curMinute = "0" + curMinute;
        }
        if (curSecond.length == 1) {
            curSecond = "0" + curSecond;
        }
        var fileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_"
                + curHour + curMinute + curSecond + ".csv";
        //alert(fileName);
        return fileName;
    }
    function doFileExport(inName, inStr) {
        var xlsWin = null;
        if (!!document.all("glbHideFrm")) {
           xlsWin = glbHideFrm;
       }
        else {
            var width = 6;
            var height = 4;
            var openPara = "left=" + (window.screen.width / 2 - width / 2)
                    + ",top=" + (window.screen.height / 2 - height / 2)
                    + ",scrollbars=no,width=" + width + ",height=" + height;
            xlsWin = window.open("", "_blank", openPara);
        }
        xlsWin.document.write(inStr);
       xlsWin.document.close();
        xlsWin.document.execCommand('Saveas', true, inName);
       xlsWin.close();
    }
    </SCRIPT>
    </body>
    </html>
    posted @ 2010-04-16 09:47 I LOVE JAVA 閱讀(3483) | 評論 (0)編輯 收藏

    log4j.rootLogger=DEBUG,CONSOLE,DATABASE,FILE
    log4j.addivity.org.apache=true

    # 應用于控制臺
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.Threshold=INFO
    log4j.appender.CONSOLE.Target=System.out
    log4j.appender.CONSOLE.Encoding=GBK
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

    # 用于數據庫
    #log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
    #log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/ww
    #log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
    #log4j.appender.DATABASE.user=root
    #log4j.appender.DATABASE.password=123
    #log4j.appender.CONSOLE.Threshold=WARN
    #log4j.appender.DATABASE.sql=INSERT INTO LOG4J(stamp,thread, infolevel,class,messages) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')
    # INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
    # 寫入數據庫中的表LOG4J的Message字段中,內容%d(日期)%c: 日志信息所在地(類名)%p: 日志信息級別%m: 產生的日志具體信息 %n: 輸出日志信息換行
    #log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
    #log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

    # 每天新建日志
    log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.A1.File=C:/log4j/log
    log4j.appender.A1.Encoding=GBK
    log4j.appender.A1.Threshold=DEBUG
    log4j.appender.A1.DatePattern='.'yyyy-MM-dd
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n

    #應用于文件
    log4j.appender.FILE=org.apache.log4j.FileAppender
    log4j.appender.FILE.File=C:/log4j/file.log
    log4j.appender.FILE.Append=false
    log4j.appender.FILE.Encoding=GBK
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

    # 應用于文件回滾
    log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender
    log4j.appender.ROLLING_FILE.Threshold=ERROR
    log4j.appender.ROLLING_FILE.File=rolling.log
    log4j.appender.ROLLING_FILE.Append=true
    log4j.appender.CONSOLE_FILE.Encoding=GBK
    log4j.appender.ROLLING_FILE.MaxFileSize=10KB
    log4j.appender.ROLLING_FILE.MaxBackupIndex=1
    log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

    #自定義Appender
    log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender
    log4j.appender.im.host = mail.cybercorlin.net
    log4j.appender.im.username = username
    log4j.appender.im.password = password
    log4j.appender.im.recipient = corlin@cybercorlin.net
    log4j.appender.im.layout=org.apache.log4j.PatternLayout
    log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

    #應用于socket
    log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender
    log4j.appender.SOCKET.RemoteHost=localhost
    log4j.appender.SOCKET.Port=5001
    log4j.appender.SOCKET.LocationInfo=true
    # Set up for Log Facter 5
    log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout
    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
    # Log Factor 5 Appender
    log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender
    log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000

    # 發送日志給郵件
    log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
    log4j.appender.MAIL.Threshold=FATAL
    log4j.appender.MAIL.BufferSize=10
    log4j.appender.MAIL.From=web@www.wuset.com
    log4j.appender.MAIL.SMTPHost=www.wusetu.com
    log4j.appender.MAIL.Subject=Log4J Message
    log4j.appender.MAIL.To=web@www.wusetu.com
    log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
    log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

    posted @ 2009-03-23 10:10 I LOVE JAVA 閱讀(1361) | 評論 (0)編輯 收藏

    <script language="JavaScript">
    <!--
    function TwoSelectInit(so,dv1,dv2){
     var o1=so.o1;var o2=so.o2;var allstr=so.str;var dt1=so.dt1;var dt2=so.dt2;var selectonce=so.selectonce;
     var _s = "*|^@";
     var s1=new Array(),v1=new Array(),s2=new Array(),v2=new Array();
     var s1i = 0,s2i = 0;
     if(dt1!=""){
      if(!selectonce){allstr=dt1+_s.charAt(1)+_s.charAt(0)+allstr;}
      else{allstr=dt1+_s.charAt(1)+dt2+_s.charAt(0)+allstr;}
     }
     aa=allstr.split(_s.charAt(0));
     for(aai=0;aai<aa.length;aai++){
      aaa=aa[aai].split(_s.charAt(1));
      tmps1 = aaa[0].split(_s.charAt(3));
      s1[aai] = tmps1[0];v1[aai] = (tmps1.length==2)?tmps1[1]:tmps1[0];
      s2[aai] = new Array();v2[aai] = new Array();
      if(v1[aai]==dv1){s1i = aai;}
      bbbb=aaa[1];
      if(dt2!=""&&!selectonce){if(bbbb==""){bbbb=dt2;}else{bbbb=dt2+_s.charAt(2)+bbbb;}}
      bb=bbbb.split(_s.charAt(2));
      for(bbi=0;bbi< bb.length;bbi++){
       tmps2 = bb[bbi].split(_s.charAt(3));
       s2[aai][bbi] = tmps2[0];v2[aai][bbi] = (tmps2.length==2)?tmps2[1]:tmps2[0];
       if(v2[aai][bbi]==dv2){s2i = bbi;}
      }
     }
     for(var i=0;i<o1.options.length;i++){o1.remove(i);i--;}
     for(k=0;k<s1.length;k++){o1.options.add(new Option(s1[k],v1[k]));}
     o1.selectedIndex=s1i;
     for(var i=0;i<o2.options.length;i++){o2.remove(i);i--;}
     for(k=0;k<s2[s1i].length;k++){o2.options.add(new Option(s2[s1i][k],v2[s1i][k]));}
     o2.selectedIndex=s2i;
    }
    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}
    //-->
    </SCRIPT>
    <form method="post" name=myform>
    選擇一次:<select name="a" onchange="TwoSelectInit(test1,this.value)"></select> <select name="b"></select><hr>
    選擇兩次:<select name="aa" onchange="TwoSelectInit(test2,this.value)"></select> <select name="bb"></select><hr>
    有初始值:<select name="aaa" onchange="TwoSelectInit(test3,this.value)"></select> <select name="bbb"></select>

    </form>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var selecttext=""
    +"搜索@search|Google@http://www.google.com/^Yahoo@http://www.yahoo.com/"
    +"*收藏@fav|無憂視窗@http://www.51windows.Net/^藍色理想@http://www.blueidea.com/^POPO@http://plod.popoever.net/"
    +"";
    var test1 = new HwTwoSelect(document.myform.a,document.myform.b,selecttext,"-分類-@","-網址-@",1);//最后的參數表示,選了一級菜單后,二級菜單是否還要顯示“請選擇”,1或true代碼,不顯示,0或false代表顯示
    TwoSelectInit(test1);

    var test2 = new HwTwoSelect(document.myform.aa,document.myform.bb,selecttext,"-分類-@","-網址-@",0);
    TwoSelectInit(test2);

    var test3 = new HwTwoSelect(document.myform.aaa,document.myform.bbb,selecttext,"-分類-@","-網址-@",0);
    TwoSelectInit(test3,"fav","http://www.51windows.Net/");
    //-->
    </SCRIPT>

    以下是示例代碼,詳細請查看源文件:


     

    <form method="post" name=myform>
    <select name="select1" onchange="TwoSelectInit(ttt,this.value)"></select> <select name="select2"></select><hr>
    </form>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var selecttext=""
    +"搜索@search|Google@http://www.google.com/^Yahoo@http://www.yahoo.com/"
    +"*收藏@fav|無憂視窗@http://www.51windows.Net/^藍色理想@http://www.blueidea.com/^POPO@http://plod.popoever.net/"
    +"";

    var ttt = new HwTwoSelect(document.myform.select1,document.myform.select2,selecttext,"-分類-@","-網址-@",1);
    TwoSelectInit(ttt ,"fav","http://www.51windows.Net/");

    //-->
    </SCRIPT>

    bug:在二級菜單有初始值時,如果表單重置,二級菜單的值會變為空

    posted @ 2007-10-19 11:06 I LOVE JAVA 閱讀(650) | 評論 (0)編輯 收藏

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function CreateSelect(_FormName,_SName,_SValue,_Ds,_AllOptionStr,ShowType)
    {
     //三級關鏈菜單通用版
     //作者:海娃, 有問題請到http://www.51windows.Net留言。
     if (_FormName=="")
      _FormName = "all"
     var _DsArr = _Ds.split("|")
     var _Ds1,_Ds2,_Ds3
     var _Ds1 = _DsArr[0]
     var _Ds2 = (_DsArr.length>1)?_DsArr[1]:_DsArr[0]
     var _Ds3 = (_DsArr.length>2)?_DsArr[2]:_DsArr[0]

     var _SNameArr = _SName.split("|")
     var _SName1,_SName2,_SName3
     var _SName1 = _SNameArr[0]
     var _SName2 = (_SNameArr.length>1)?_SNameArr[1]:_SNameArr[0]
     var _SName3 = (_SNameArr.length>2)?_SNameArr[2]:_SNameArr[0]

     var _SValueArr = _SValue.split("|")
     var _SValue1,_SValue2,_SValue3
     var _SValue1 = _SValueArr[0]
     var _SValue2 = (_SValueArr.length>1)?_SValueArr[1]:_SValueArr[0]
     var _SValue3 = (_SValueArr.length>2)?_SValueArr[2]:_SValueArr[0]

     if (ShowType==3){
      _AllOptionStr = _AllOptionStr.replace(/\(\(/ig,"\(\("+_Ds3+"\^")
      _AllOptionStr = _AllOptionStr.replace(/\{\{/ig,"\{\{"+_Ds2+"\(\("+_Ds3+"\*\*")
     }
     else if(ShowType==2){
      _AllOptionStr = _AllOptionStr.replace(/\{\{/ig,"\{\{"+_Ds2+"\(\("+_Ds3+"\*\*")
     }
     else if(ShowType==1){
      _AllOptionStr = _AllOptionStr.replace(/\(\(/ig,"\(\("+_Ds3+"\^")
     }
     var AllStr = _Ds1 + "{{"+ _Ds2 + "(("+ _Ds3 +"||"+_AllOptionStr
     //alert(AllStr)
     var _AR0 = AllStr.split("||");
     document.writeln("<select name=\"" + _SName1 + "\" size=\"1\" onChange=\""+_SName1+"redirect(this.options.selectedIndex)\">");
     for (var i1 = 0;i1 < _AR0.length;i1++)
     {
      var Area1Str = _AR0[i1];
      var _AR10 = Area1Str.split("{{");
      var _AR11 = _AR10[0].split("@");
      var Tstr1 = _AR11[0];
      var Vstr1 = (_AR11.length==2)?_AR11[1]:_AR11[0]
      document.writeln("<option value=\""+Vstr1+"\">"+Tstr1+"<\/option>");
     }
     document.writeln("<\/select>");

     document.writeln("<select name=\"" + _SName2 + "\" size=\"1\" onChange=\""+_SName1+"redirect1(this.options.selectedIndex)\">");
     var _AR111 = _Ds2.split("@");
     var Tstr11 = _AR111[0];
     var Vstr11 = (_AR111.length==2)?_AR111[1]:_AR111[0];
     document.writeln("<option value=\""+Vstr11+"\">"+Tstr11+"<\/option>");
     document.writeln("<\/select>");

     document.writeln("<select name=\"" + _SName3 + "\" size=\"1\">");
     var _AR222 = _Ds3.split("@");
     var Tstr22 = _AR222[0];
     var Vstr22 = (_AR222.length==2)?_AR222[1]:_AR222[0];
     document.writeln("<option value=\""+Vstr22+"\">"+Tstr22+"<\/option>");
     document.writeln("<\/select>");

     document.writeln("<S"+"CRIPT LANGUAGE=\"JavaScript\" defer>");
     document.writeln("<!--");
     document.writeln("var "+_SName1+"NewAllStr = \""+ AllStr +"\"");
     document.writeln("var "+_SName1+"_AR0 = "+_SName1+"NewAllStr.split(\"||\");");
     document.writeln("var "+_SName1+"groups=document."+ _FormName +"." + _SName1 + ".options.length;");
     document.writeln("var "+_SName1+"group=new Array("+_SName1+"groups)");
     document.writeln("for (i=0; i<"+_SName1+"groups; i++){");
     document.writeln(" "+_SName1+"group[i]=new Array();");
     document.writeln("}");
     document.writeln("for (var i1 = 0;i1 < "+_SName1+"_AR0.length;i1++){");
     document.writeln(" var Area1Str = "+_SName1+"_AR0[i1];");
     document.writeln(" var _AR10 = Area1Str.split(\"{{\");");
     document.writeln(" var _AR12 = _AR10[1].split(\"**\");");
     document.writeln(" for (var i2 = 0;i2 < _AR12.length;i2++){");
     document.writeln("  var Area2Str = _AR12[i2];");
     document.writeln("  var _AR20 = Area2Str.split(\"((\");");
     document.writeln("  var _AR211 = _AR20[0].split(\"@\");");
     document.writeln("  var Tstr2 = _AR211[0];");
     document.writeln("  var Vstr2 = (_AR211.length==2)?_AR211[1]:_AR211[0];");
     document.writeln("  "+_SName1+"group[i1][i2]=new Option(Tstr2,Vstr2);");
     document.writeln(" }");
     document.writeln("}");
     document.writeln("var "+_SName1+"temp = document."+ _FormName +"." + _SName2);
     document.writeln("function "+_SName1+"redirect(x){");
     document.writeln(" for (m="+_SName1+"temp.options.length-1;m>0;m--)");
     document.writeln(" "+_SName1+"temp.options[m]=null;");
     document.writeln(" for (i=0;i<"+_SName1+"group[x].length;i++){");
     document.writeln("  "+_SName1+"temp.options[i]=new Option("+_SName1+"group[x][i].text,"+_SName1+"group[x][i].value);");
     document.writeln(" }");
     document.writeln(" "+_SName1+"temp.options[0].selected=true");
     document.writeln(" "+_SName1+"redirect1(0)");
     document.writeln("}");
     document.writeln("var "+_SName1+"Group2s=document."+ _FormName +"." + _SName2 + ".options.length;");
     document.writeln("var "+_SName1+"Group2=new Array("+_SName1+"groups);");
     document.writeln("for (i=0; i<"+_SName1+"groups; i++){");
     document.writeln(" "+_SName1+"Group2[i]=new Array("+_SName1+"group[i].length)");
     document.writeln(" for (j=0; j<"+_SName1+"group[i].length; j++){");
     document.writeln("  "+_SName1+"Group2[i][j]=new Array()");
     document.writeln(" }");
     document.writeln("}");
     document.writeln("for (var i1 = 0;i1 < "+_SName1+"_AR0.length;i1++){");
     document.writeln(" var Area1Str = "+_SName1+"_AR0[i1]");
     document.writeln(" var _AR10 = Area1Str.split(\"{{\");");
     document.writeln(" var _AR12 = _AR10[1].split(\"**\");");
     document.writeln(" for (var i2 = 0;i2 < _AR12.length;i2++){");
     document.writeln("  var Area2Str = _AR12[i2]");
     document.writeln("  var _AR20 = Area2Str.split(\"((\");");
     document.writeln("  _AR212 = _AR20[1].split(\"^\");");
     document.writeln("  for (var i3 = 0;i3 < _AR212.length;i3++){");
     document.writeln("   Area3Str = _AR212[i3]");
     document.writeln("   _AR3 = Area3Str.split(\"@\");");
     document.writeln("   Tstr3 = _AR3[0]");
     document.writeln("   Vstr3 = (_AR3.length==2)?_AR3[1]:_AR3[0]");
     document.writeln("   "+_SName1+"Group2[i1][i2][i3]=new Option(Tstr3,Vstr3);");
     document.writeln("  }");
     document.writeln(" }");
     document.writeln("}");
     document.writeln("var "+_SName1+"temp1=document."+ _FormName +"." + _SName3 + "");
     document.writeln("function "+_SName1+"redirect1(y){");
     document.writeln(" for (m="+_SName1+"temp1.options.length-1;m>0;m--)");
     document.writeln(" "+_SName1+"temp1.options[m]=null");
     document.writeln(" for (i=0;i<"+_SName1+"Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y].length;i++){");
     document.writeln("  "+_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)");
     document.writeln(" }");
     document.writeln(" "+_SName1+"temp1.options[0].selected=true");
     document.writeln("}");
     document.writeln("\/\/-->");
     document.writeln("<\/script>");
     document.writeln("<s"+"cript language=\"JavaScript\">");
     document.writeln("<!--");
     document.writeln("function "+_SName1+"SetValue(){");
     document.writeln(" try{");
     document.writeln("  if (\""+_SValue1+"\"!=\"\"){");
     document.writeln("   document."+ _FormName +"."+_SName1+".value=\""+_SValue1+"\"");
     document.writeln("   "+_SName1+"redirect(document."+ _FormName +"."+_SName1+".options.selectedIndex);");
     document.writeln("   if (\""+_SValue2+"\"!=\"\"){");
     document.writeln("    document."+ _FormName +"."+_SName2+".value=\""+_SValue2+"\"");
     document.writeln("    "+_SName1+"redirect1(document."+ _FormName +"."+_SName2+".options.selectedIndex)");
     document.writeln("    if (\""+_SValue3+"\"!=\"\")");
     document.writeln("     document."+ _FormName +"."+_SName3+".value=\""+_SValue3+"\"");
     document.writeln("   }");
     document.writeln("  }");
     document.writeln(" }");
     document.writeln(" catch(e){");
     document.writeln(" }");
     document.writeln("}");
     document.writeln("window.attachEvent(\"onload\","+_SName1+"SetValue)");
     document.writeln("\/\/-->");
     document.writeln("<\/script>");
    }
    //-->
    </script>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var AllStr1 = ""
    +"東北地區{{"
     +"黑龍江((哈爾濱^齊齊哈爾^牡丹江^佳木斯^大慶^綏化^鶴崗^雞西^黑河^雙鴨山^伊春^七臺河^大興安嶺"
     +"**吉林((長春^吉林^四平^遼源^通化^白山^松原^白城^延邊"
     +"**遼寧((沈陽^大連^鞍山^撫順^本溪^丹東^錦州^營口^阜新^遼陽^盤錦^鐵嶺^朝陽^葫蘆島"
    +"||華北地區{{"
     +"北京((東城^西城^崇文^宣武^朝陽^豐臺^石景山^海淀^門頭溝^房山^通州^順義^昌平^大興^平谷^懷柔^密云^延慶"
     +"**天津((和平^東麗^河東^西青^河西^津南^南開^北辰^河北^武清^紅撟^塘沽^漢沽^大港^寧河^靜海^寶坻^薊縣"
     +"**山東((濟南^青島^淄博^棗莊^東營^煙臺^濰坊^濟寧^泰安^威海^日照^萊蕪^臨沂^德州^聊城^濱州^菏澤"
     +"**河北((石家莊^邯鄲^邢臺^保定^張家口^承德^廊坊^唐山^秦皇島^滄州^衡水"
     +"**河南((鄭州^開封^洛陽^平頂山^安陽^鶴壁^新鄉^焦作^濮陽^許昌^漯河^三門峽^南陽^商丘^信陽^周口^駐馬店^濟源"
     +"**山西((太原^大同^陽泉^長治^晉城^朔州^呂梁^忻州^晉中^臨汾^運城"
     +"**內蒙古((呼和浩特^包頭^烏海^赤峰^呼倫貝爾盟^阿拉善盟^哲里木盟^興安盟^烏蘭察布盟^錫林郭勒盟^巴彥淖爾盟^伊克昭盟"
    +"||華中地區{{"
     +"湖北((武漢^宜昌^荊州^襄樊^黃石^荊門^黃岡^十堰^恩施^潛江^天門^仙桃^隨州^咸寧^孝感^鄂州"
     +"**湖南((長沙^常德^株洲^湘潭^衡陽^岳陽^邵陽^益陽^婁底^懷化^郴州^永州^湘西^張家界"
    +"||華南地區{{"
     +"廣東((廣州^深圳^珠海^汕頭^東莞^中山^佛山^韶關^江門^湛江^茂名^肇慶^惠州^梅州^汕尾^河源^陽江^清遠^潮州^揭陽^云浮"
     +"**廣西((南寧^柳州^桂林^梧州^北海^防城港^欽州^貴港^玉林^南寧地區^柳州地區^賀州^百色^河池"
     +"**福建((福州^廈門^莆田^三明^泉州^漳州^南平^龍巖^寧德"
     +"**海南((??赹三亞"
    +"||西南地區{{"
     +"四川((成都^綿陽^德陽^自貢^攀枝花^廣元^內江^樂山^南充^宜賓^廣安^達川^雅安^眉山^甘孜^涼山^瀘州"
     +"**重慶((萬州^涪陵^渝中^大渡口^江北^沙坪壩^九龍坡^南岸^北碚^萬盛^雙撟^渝北^巴南^黔江^長壽^綦江^潼南^銅梁^大足^榮昌^壁山^梁平^城口^豐都^墊江^武隆^忠縣^開縣^云陽^奉節^巫山^巫溪^石柱^秀山^酉陽^彭水^江津^合川^永川^南川"
     +"**貴州((貴陽^六盤水^遵義^安順^銅仁^黔西南^畢節^黔東南^黔南"
     +"**云南((昆明^大理^曲靖^玉溪^昭通^楚雄^紅河^文山^思茅^西雙版納^保山^德宏^麗江^怒江^迪慶^臨滄"
     +"**西藏((拉薩^日喀則^山南^林芝^昌都^阿里^那曲"
    +"||西北地區{{"
     +"陜西((西安^寶雞^咸陽^銅川^渭南^延安^榆林^漢中^安康^商洛"
     +"**甘肅((蘭州^嘉峪關^金昌^白銀^天水^酒泉^張掖^武威^定西^隴南^平涼^慶陽^臨夏^甘南"
     +"**寧夏((銀川^石嘴山^吳忠^固原"
     +"**青海((西寧^海東^海南^海北^黃南^玉樹^果洛^海西"
     +"**新疆((烏魯木齊^石河子^克拉瑪依^伊犁^巴音郭勒^昌吉^克孜勒蘇柯爾克孜^博爾塔拉^吐魯番^哈密^喀什^和田^阿克蘇"
    +"||華東地區{{"
     +"上海((黃浦^盧灣^徐匯^長寧^靜安^普陀^閘北^虹口^楊浦^閔行^寶山^嘉定^浦東^金山^松江^青浦^南匯^奉賢^崇明"
     +"**江蘇((南京^鎮江^蘇州^南通^揚州^鹽城^徐州^連云港^常州^無錫^宿遷^泰州^淮安"
     +"**浙江((杭州^寧波^溫州^嘉興^湖州^紹興^金華^衢州^舟山^臺州^麗水"
     +"**安徽((合肥^蕪湖^蚌埠^馬鞍山^淮北^銅陵^安慶^黃山^滁州^宿州^池州^淮南^巢湖^阜陽^六安^宣城^亳州"
     +"**江西((南昌市^景德鎮^九江^鷹潭^萍鄉^新馀^贛州^吉安^宜春^撫州^上饒"
    +"||港澳臺地區{{"
     +"香港((香港"
     +"**澳門((澳門"
     +"**臺灣((臺北^高雄^臺中^臺南^屏東^南投^云林^新竹^彰化^苗栗^嘉義^花蓮^桃園^宜蘭^基隆^臺東^金門^馬祖^澎湖"
    +"||其它地區{{"
     +"其它((其它"
    //-->
    </SCRIPT>

    以下代碼加到body中(簡要說明之前)
    <FORM name="HwForm">
    <HR>選擇一次<br>
    <SCRIPT LANGUAGE="JavaScript">
    CreateSelect("","S_13|S_23|S_33","","請選擇地區@|請選擇省份@|請選擇城市@",AllStr1,0);
    </SCRIPT>

    <HR>選擇三次<br>
    <SCRIPT LANGUAGE="JavaScript">
    CreateSelect("HwForm","S_1|S_2|S_3","華北地區|山東|濟寧","請選擇地區@|請選擇省份@|請選擇城市@",AllStr1,3);
    </SCRIPT>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var AllStr2 = ""
    +"筆記本{{"
     +"IBM((R32^T40^T42"
     +"**DELL((N600^M600"
    +"||數碼相機{{"
     +"CANON((A75^A80^A85"
     +"**SONY((S80^S60"
    //-->
    </SCRIPT>

    <HR>選擇二次<br><SCRIPT LANGUAGE="JavaScript">
    CreateSelect("HwForm","S_11|S_21|S_31","筆記本|IBM|T42","請選擇分類@|請選擇品牌@|請選擇系列@",AllStr2,2);
    </SCRIPT>


    <HR>選擇二次<br><SCRIPT LANGUAGE="JavaScript">
    CreateSelect("HwForm","S_12|S_22|S_32","","請選擇分類@|請選擇品牌@|請選擇系列@",AllStr2,1);
    </SCRIPT>
    </FORM>

    簡要說明:

    <FORM name="HwForm">
    <SCRIPT LANGUAGE="JavaScript">
    CreateSelect("HwForm","S_1|S_2|S_3","華北地區|山東|濟寧","請選擇地區@|請選擇省份@|請選擇城市@",AllStr1,3);
    </SCRIPT>
    </FORM>

    HwForm是表單的名字

    S_1|S_2|S_3是三個Select表單的名字,如果在js中,可以用doucment.HwForm.S_1.value得到選中的一級的值

    如果在asp中,可以用Request("S_3")得到選中的三級值

    posted @ 2007-10-19 10:41 I LOVE JAVA 閱讀(441) | 評論 (0)編輯 收藏
    package com.easydozer.commons.util;

    import java.util.Iterator;
    import java.util.LinkedHashMap;
    import java.util.Set;

    /**
    * <pre>漢字轉化為全拼</pre>
    * <BR><DL><DT><B>JDK版本:</B></DT><BR><DD>1.4</DD></DL>
    * @author 謝計生
    * @version 1.0
    * @see
    * @since 1.0
    */
    public class CnToSpell
    {
    private static LinkedHashMap spellMap = null;

    static
    {
    if(spellMap == null){
    spellMap = new LinkedHashMap(400);
    }
    initialize();
    System.out.println("Chinese transfer Spell Done.");
    }

    private CnToSpell()
    {
    }

    private static void spellPut(String spell,int ascii)
    {
    spellMap.put(spell,new Integer(ascii));
    }

    private static void initialize()
    {
    spellPut("a", -20319);
    spellPut("ai", -20317);
    spellPut("an", -20304);
    spellPut("ang", -20295);
    spellPut("ao", -20292);
    spellPut("ba", -20283);
    spellPut("bai", -20265);
    spellPut("ban", -20257);
    spellPut("bang", -20242);
    spellPut("bao", -20230);
    spellPut("bei", -20051);
    spellPut("ben", -20036);
    spellPut("beng", -20032);
    spellPut("bi", -20026);
    spellPut("bian", -20002);
    spellPut("biao", -19990);
    spellPut("bie", -19986);
    spellPut("bin", -19982);
    spellPut("bing", -19976);
    spellPut("bo", -19805);
    spellPut("bu", -19784);
    spellPut("ca", -19775);
    spellPut("cai", -19774);
    spellPut("can", -19763);
    spellPut("cang", -19756);
    spellPut("cao", -19751);
    spellPut("ce", -19746);
    spellPut("ceng", -19741);
    spellPut("cha", -19739);
    spellPut("chai", -19728);
    spellPut("chan", -19725);
    spellPut("chang", -19715);
    spellPut("chao", -19540);
    spellPut("che", -19531);
    spellPut("chen", -19525);
    spellPut("cheng", -19515);
    spellPut("chi", -19500);
    spellPut("chong", -19484);
    spellPut("chou", -19479);
    spellPut("chu", -19467);
    spellPut("chuai", -19289);
    spellPut("chuan", -19288);
    spellPut("chuang", -19281);
    spellPut("chui", -19275);
    spellPut("chun", -19270);
    spellPut("chuo", -19263);
    spellPut("ci", -19261);
    spellPut("cong", -19249);
    spellPut("cou", -19243);
    spellPut("cu", -19242);
    spellPut("cuan", -19238);
    spellPut("cui", -19235);
    spellPut("cun", -19227);
    spellPut("cuo", -19224);
    spellPut("da", -19218);
    spellPut("dai", -19212);
    spellPut("dan", -19038);
    spellPut("dang", -19023);
    spellPut("dao", -19018);
    spellPut("de", -19006);
    spellPut("deng", -19003);
    spellPut("di", -18996);
    spellPut("dian", -18977);
    spellPut("diao", -18961);
    spellPut("die", -18952);
    spellPut("ding", -18783);
    spellPut("diu", -18774);
    spellPut("dong", -18773);
    spellPut("dou", -18763);
    spellPut("du", -18756);
    spellPut("duan", -18741);
    spellPut("dui", -18735);
    spellPut("dun", -18731);
    spellPut("duo", -18722);
    spellPut("e", -18710);
    spellPut("en", -18697);
    spellPut("er", -18696);
    spellPut("fa", -18526);
    spellPut("fan", -18518);
    spellPut("fang", -18501);
    spellPut("fei", -18490);
    spellPut("fen", -18478);
    spellPut("feng", -18463);
    spellPut("fo", -18448);
    spellPut("fou", -18447);
    spellPut("fu", -18446);
    spellPut("ga", -18239);
    spellPut("gai", -18237);
    spellPut("gan", -18231);
    spellPut("gang", -18220);
    spellPut("gao", -18211);
    spellPut("ge", -18201);
    spellPut("gei", -18184);
    spellPut("gen", -18183);
    spellPut("geng", -18181);
    spellPut("gong", -18012);
    spellPut("gou", -17997);
    spellPut("gu", -17988);
    spellPut("gua", -17970);
    spellPut("guai", -17964);
    spellPut("guan", -17961);
    spellPut("guang", -17950);
    spellPut("gui", -17947);
    spellPut("gun", -17931);
    spellPut("guo", -17928);
    spellPut("ha", -17922);
    spellPut("hai", -17759);
    spellPut("han", -17752);
    spellPut("hang", -17733);
    spellPut("hao", -17730);
    spellPut("he", -17721);
    spellPut("hei", -17703);
    spellPut("hen", -17701);
    spellPut("heng", -17697);
    spellPut("hong", -17692);
    spellPut("hou", -17683);
    spellPut("hu", -17676);
    spellPut("hua", -17496);
    spellPut("huai", -17487);
    spellPut("huan", -17482);
    spellPut("huang", -17468);
    spellPut("hui", -17454);
    spellPut("hun", -17433);
    spellPut("huo", -17427);
    spellPut("ji", -17417);
    spellPut("jia", -17202);
    spellPut("jian", -17185);
    spellPut("jiang", -16983);
    spellPut("jiao", -16970);
    spellPut("jie", -16942);
    spellPut("jin", -16915);
    spellPut("jing", -16733);
    spellPut("jiong", -16708);
    spellPut("jiu", -16706);
    spellPut("ju", -16689);
    spellPut("juan", -16664);
    spellPut("jue", -16657);
    spellPut("jun", -16647);
    spellPut("ka", -16474);
    spellPut("kai", -16470);
    spellPut("kan", -16465);
    spellPut("kang", -16459);
    spellPut("kao", -16452);
    spellPut("ke", -16448);
    spellPut("ken", -16433);
    spellPut("keng", -16429);
    spellPut("kong", -16427);
    spellPut("kou", -16423);
    spellPut("ku", -16419);
    spellPut("kua", -16412);
    spellPut("kuai", -16407);
    spellPut("kuan", -16403);
    spellPut("kuang", -16401);
    spellPut("kui", -16393);
    spellPut("kun", -16220);
    spellPut("kuo", -16216);
    spellPut("la", -16212);
    spellPut("lai", -16205);
    spellPut("lan", -16202);
    spellPut("lang", -16187);
    spellPut("lao", -16180);
    spellPut("le", -16171);
    spellPut("lei", -16169);
    spellPut("leng", -16158);
    spellPut("li", -16155);
    spellPut("lia", -15959);
    spellPut("lian", -15958);
    spellPut("liang", -15944);
    spellPut("liao", -15933);
    spellPut("lie", -15920);
    spellPut("lin", -15915);
    spellPut("ling", -15903);
    spellPut("liu", -15889);
    spellPut("long", -15878);
    spellPut("lou", -15707);
    spellPut("lu", -15701);
    spellPut("lv", -15681);
    spellPut("luan", -15667);
    spellPut("lue", -15661);
    spellPut("lun", -15659);
    spellPut("luo", -15652);
    spellPut("ma", -15640);
    spellPut("mai", -15631);
    spellPut("man", -15625);
    spellPut("mang", -15454);
    spellPut("mao", -15448);
    spellPut("me", -15436);
    spellPut("mei", -15435);
    spellPut("men", -15419);
    spellPut("meng", -15416);
    spellPut("mi", -15408);
    spellPut("mian", -15394);
    spellPut("miao", -15385);
    spellPut("mie", -15377);
    spellPut("min", -15375);
    spellPut("ming", -15369);
    spellPut("miu", -15363);
    spellPut("mo", -15362);
    spellPut("mou", -15183);
    spellPut("mu", -15180);
    spellPut("na", -15165);
    spellPut("nai", -15158);
    spellPut("nan", -15153);
    spellPut("nang", -15150);
    spellPut("nao", -15149);
    spellPut("ne", -15144);
    spellPut("nei", -15143);
    spellPut("nen", -15141);
    spellPut("neng", -15140);
    spellPut("ni", -15139);
    spellPut("nian", -15128);
    spellPut("niang", -15121);
    spellPut("niao", -15119);
    spellPut("nie", -15117);
    spellPut("nin", -15110);
    spellPut("ning", -15109);
    spellPut("niu", -14941);
    spellPut("nong", -14937);
    spellPut("nu", -14933);
    spellPut("nv", -14930);
    spellPut("nuan", -14929);
    spellPut("nue", -14928);
    spellPut("nuo", -14926);
    spellPut("o", -14922);
    spellPut("ou", -14921);
    spellPut("pa", -14914);
    spellPut("pai", -14908);
    spellPut("pan", -14902);
    spellPut("pang", -14894);
    spellPut("pao", -14889);
    spellPut("pei", -14882);
    spellPut("pen", -14873);
    spellPut("peng", -14871);
    spellPut("pi", -14857);
    spellPut("pian", -14678);
    spellPut("piao", -14674);
    spellPut("pie", -14670);
    spellPut("pin", -14668);
    spellPut("ping", -14663);
    spellPut("po", -14654);
    spellPut("pu", -14645);
    spellPut("qi", -14630);
    spellPut("qia", -14594);
    spellPut("qian", -14429);
    spellPut("qiang", -14407);
    spellPut("qiao", -14399);
    spellPut("qie", -14384);
    spellPut("qin", -14379);
    spellPut("qing", -14368);
    spellPut("qiong", -14355);
    spellPut("qiu", -14353);
    spellPut("qu", -14345);
    spellPut("quan", -14170);
    spellPut("que", -14159);
    spellPut("qun", -14151);
    spellPut("ran", -14149);
    spellPut("rang", -14145);
    spellPut("rao", -14140);
    spellPut("re", -14137);
    spellPut("ren", -14135);
    spellPut("reng", -14125);
    spellPut("ri", -14123);
    spellPut("rong", -14122);
    spellPut("rou", -14112);
    spellPut("ru", -14109);
    spellPut("ruan", -14099);
    spellPut("rui", -14097);
    spellPut("run", -14094);
    spellPut("ruo", -14092);
    spellPut("sa", -14090);
    spellPut("sai", -14087);
    spellPut("san", -14083);
    spellPut("sang", -13917);
    spellPut("sao", -13914);
    spellPut("se", -13910);
    spellPut("sen", -13907);
    spellPut("seng", -13906);
    spellPut("sha", -13905);
    spellPut("shai", -13896);
    spellPut("shan", -13894);
    spellPut("shang", -13878);
    spellPut("shao", -13870);
    spellPut("she", -13859);
    spellPut("shen", -13847);
    spellPut("sheng", -13831);
    spellPut("shi", -13658);
    spellPut("shou", -13611);
    spellPut("shu", -13601);
    spellPut("shua", -13406);
    spellPut("shuai", -13404);
    spellPut("shuan", -13400);
    spellPut("shuang", -13398);
    spellPut("shui", -13395);
    spellPut("shun", -13391);
    spellPut("shuo", -13387);
    spellPut("si", -13383);
    spellPut("song", -13367);
    spellPut("sou", -13359);
    spellPut("su", -13356);
    spellPut("suan", -13343);
    spellPut("sui", -13340);
    spellPut("sun", -13329);
    spellPut("suo", -13326);
    spellPut("ta", -13318);
    spellPut("tai", -13147);
    spellPut("tan", -13138);
    spellPut("tang", -13120);
    spellPut("tao", -13107);
    spellPut("te", -13096);
    spellPut("teng", -13095);
    spellPut("ti", -13091);
    spellPut("tian", -13076);
    spellPut("tiao", -13068);
    spellPut("tie", -13063);
    spellPut("ting", -13060);
    spellPut("tong", -12888);
    spellPut("tou", -12875);
    spellPut("tu", -12871);
    spellPut("tuan", -12860);
    spellPut("tui", -12858);
    spellPut("tun", -12852);
    spellPut("tuo", -12849);
    spellPut("wa", -12838);
    spellPut("wai", -12831);
    spellPut("wan", -12829);
    spellPut("wang", -12812);
    spellPut("wei", -12802);
    spellPut("wen", -12607);
    spellPut("weng", -12597);
    spellPut("wo", -12594);
    spellPut("wu", -12585);
    spellPut("xi", -12556);
    spellPut("xia", -12359);
    spellPut("xian", -12346);
    spellPut("xiang", -12320);
    spellPut("xiao", -12300);
    spellPut("xie", -12120);
    spellPut("xin", -12099);
    spellPut("xing", -12089);
    spellPut("xiong", -12074);
    spellPut("xiu", -12067);
    spellPut("xu", -12058);
    spellPut("xuan", -12039);
    spellPut("xue", -11867);
    spellPut("xun", -11861);
    spellPut("ya", -11847);
    spellPut("yan", -11831);
    spellPut("yang", -11798);
    spellPut("yao", -11781);
    spellPut("ye", -11604);
    spellPut("yi", -11589);
    spellPut("yin", -11536);
    spellPut("ying", -11358);
    spellPut("yo", -11340);
    spellPut("yong", -11339);
    spellPut("you", -11324);
    spellPut("yu", -11303);
    spellPut("yuan", -11097);
    spellPut("yue", -11077);
    spellPut("yun", -11067);
    spellPut("za", -11055);
    spellPut("zai", -11052);
    spellPut("zan", -11045);
    spellPut("zang", -11041);
    spellPut("zao", -11038);
    spellPut("ze", -11024);
    spellPut("zei", -11020);
    spellPut("zen", -11019);
    spellPut("zeng", -11018);
    spellPut("zha", -11014);
    spellPut("zhai", -10838);
    spellPut("zhan", -10832);
    spellPut("zhang", -10815);
    spellPut("zhao", -10800);
    spellPut("zhe", -10790);
    spellPut("zhen", -10780);
    spellPut("zheng", -10764);
    spellPut("zhi", -10587);
    spellPut("zhong", -10544);
    spellPut("zhou", -10533);
    spellPut("zhu", -10519);
    spellPut("zhua", -10331);
    spellPut("zhuai", -10329);
    spellPut("zhuan", -10328);
    spellPut("zhuang", -10322);
    spellPut("zhui", -10315);
    spellPut("zhun", -10309);
    spellPut("zhuo", -10307);
    spellPut("zi", -10296);
    spellPut("zong", -10281);
    spellPut("zou", -10274);
    spellPut("zu", -10270);
    spellPut("zuan", -10262);
    spellPut("zui", -10260);
    spellPut("zun", -10256);
    spellPut("zuo", -10254);
    }

    /**
    * 獲得單個漢字的Ascii.
    * @param cn char
    * 漢字字符
    * @return int
    * 錯誤返回 0,否則返回ascii
    */
    public static int getCnAscii(char cn)
    {
    byte[] bytes = (String.valueOf(cn)).getBytes();
    if(bytes == null || bytes.length > 2 || bytes.length <= 0){ //錯誤
    return 0;
    }
    if(bytes.length == 1){ //英文字符
    return bytes[0];
    }
    if(bytes.length == 2){ //中文字符
    int hightByte = 256 + bytes[0];
    int lowByte = 256 + bytes[1];

    int ascii = (256 * hightByte + lowByte) - 256 * 256;

    //System.out.println("ASCII=" + ascii);

    return ascii;
    }

    return 0; //錯誤
    }

    /**
    * 根據ASCII碼到SpellMap中查找對應的拼音
    * @param ascii int
    * 字符對應的ASCII
    * @return String
    * 拼音,首先判斷ASCII是否>0&<160,如果是返回對應的字符,
    * <BR>否則到SpellMap中查找,如果沒有找到拼音,則返回null,如果找到則返回拼音.
    */
    public static String getSpellByAscii(int ascii)
    {
    if(ascii > 0 && ascii < 160){ //單字符
    return String.valueOf((char)ascii);
    }

    if(ascii < -20319 || ascii > -10247){ //不知道的字符
    return null;
    }

    Set keySet = spellMap.keySet();
    Iterator it = keySet.iterator();

    String spell0 = null;;
    String spell = null;

    int asciiRang0 = -20319;
    int asciiRang;
    while(it.hasNext()){

    spell = (String)it.next();
    Object valObj = spellMap.get(spell);
    if(valObj instanceof Integer){
    asciiRang = ((Integer)valObj).intValue();

    if(ascii >= asciiRang0 && ascii < asciiRang){ //區間找到
    return(spell0 == null) ? spell : spell0;
    }
    else{
    spell0 = spell;
    asciiRang0 = asciiRang;
    }
    }
    }

    return null;

    }

    /**
    * 返回字符串的全拼,是漢字轉化為全拼,其它字符不進行轉換
    * @param cnStr String
    * 字符串
    * @return String
    * 轉換成全拼后的字符串
    */
    public static String getFullSpell(String cnStr)
    {
    if(null == cnStr || "".equals(cnStr.trim())){
    return cnStr;
    }

    char[] chars = cnStr.toCharArray();
    StringBuffer retuBuf = new StringBuffer();
    for(int i = 0,Len = chars.length;i < Len;i++){
    int ascii = getCnAscii(chars[i]);
    if(ascii == 0){ //取ascii時出錯
    retuBuf.append(chars[i]);
    }
    else{
    String spell = getSpellByAscii(ascii);
    if(spell == null){
    retuBuf.append(chars[i]);
    }
    else{
    retuBuf.append(spell);
    } // end of if spell == null
    } // end of if ascii <= -20400
    } // end of for

    return retuBuf.toString();
    }

    public static String getFirstSpell(String cnStr)
    {
    return null;
    }

    public static void main(String[] args)
    {
    String str = null;
    str = "謝海101普降喜雨";
    System.out.println("Spell=" + CnToSpell.getFullSpell(str));

    str = "張牙舞爪》。,";
    System.out.println("Spell=" + CnToSpell.getFullSpell(str));

    str = "李鵬,可恥下場。";
    System.out.println("Spell=" + CnToSpell.getFullSpell(str));

    str = "豬油,豬八戒。";
    System.out.println("Spell=" + CnToSpell.getFullSpell(str));
    }
    }
    posted @ 2007-10-09 17:17 I LOVE JAVA 閱讀(468) | 評論 (1)編輯 收藏

    來自:徽駱駝

    Criteria Query
    可以看作傳統sql的對象化表示

    Criteria 可以由session創建
    Criteria ct= session.createCriteria(TUser.class);

    Criteria中可以增加查詢條件
    ct.add(Expression.eq("name","Erica"));
    ct.add(Expression.eq("sex",new Integer(1)));

    Criteria中增加的查詢條件可以由表達式對象創建
    Expression.eq(對象屬性名,對象屬性值);

    查詢條件通過Criteria的add方法加入。

    表達式對象的方法有:
    eq  等于,第一個參數是對象屬性,第二個參數是值
    allEq  參數為一個Map對象,相當于多個eq的疊加
    gt  大于
    ge  大于等于
    lt  <
    le  <=
    between  在兩個值之間Expression.between("age",new Integer(10),new Integer(20));
    like  like查詢
    in   in查詢
    eqProperty 用于比較兩個對象的屬性的值是否相等
    gtProperty 
    geProperty
    ltProperty
    leProperty
    and  and方法可以嵌套Expression對象,用于and關系
    or  同上
      如:Expression.or(
       Expression.eq("name","hulei"),
       Expression.eq("name","jane")
       );
    sql  作為Expression對象的補充,本方法提供對原生sql的支持

    ***注意,在Hibernate3中,引入了Restrictions類作為Expression的替代,以后的版本,不再推薦使用Expression。
    ***但是,Restrictions類的使用方法和Expression的方法一致。

    注意,在查詢條件中,Hibernate提供了一個Example查詢,當查詢條件比較多的時候,
    可以用Example查詢來簡化代碼,使用方法如下:
    TUser user=new TUser();
    user.setLoginName("hulei");
    user.setPassword("hulei");
    Criteria ct=session.createCriteria(TUser.class);
    ct.add(Example.create(user));
    return ct.list();


    復合查詢
    Criteria查詢可以嵌套Criteria來實現復合查詢
    如下:
    Criteria ct=session.createCriteria(TUser.class);
    Criteria ctAddress=ct.createCriteria("addresses");//這里是嵌套了一個Criteria查詢,這里的addresses是TUser的屬性
    ctAddress.add(Expression.like("address","%shanghai%"));
    List list=ct.list();

    posted @ 2007-09-24 14:50 I LOVE JAVA 閱讀(1830) | 評論 (0)編輯 收藏
    來源:feng - BlogJava

      由于直接編輯server.xml配置連接池很容易出現錯誤,我估計是tomcat版本問題,沒個版本可能配置有點點差別,所以我建議使用在http://localhost/admin/中進行數據源的配置,下載tomcat的admin包,安裝過程如下

      下載下來進行解壓,得到三個文件,和兩個包,一個叫conf包,另外一個叫做server包。

      接著進行安裝:那三個單獨的文件不用管;把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包放在一塊。

      安裝搞定,重新啟動tomcat,在地址欄輸入http://localhost/admin/,在出現的截面里面輸入你安裝tomcat的時候你輸入的用戶名和密碼。

      登錄成功后,會出現Tomcat 的web應用管理界面(Tomcat Web Server Administration Tool)。

      然后在左邊的目錄樹點擊“Data Sources”項,右邊可以看到JNDI配置的頁面。

      在右上角的下拉框中選擇“Create New Data Source”,接下來填寫配置信息:

    JNDI Name: jdbc/feng /*連接池的名稱*/
    Data Source URL: jdbc:mysql://localhost:3306/bbs /*bbs為數據庫的名稱*/
    JDBC Driver Class: com.mysql.jdbc.Driver
    User Name: root
    Password: feng
    Max. Active Connections: 可用默認值
    Max. Idle Connections: 可用默認值
    Max. Wait for Connection: 可用默認值
    Validation Query: 可不填寫。

      然后,按下“save”按鈕保存。

      再按下“Commit Changes”按鈕將配置更改提交完成。

      下面這步比較重要,不加就會出現錯誤

      在<Context></Context>的描述中加上本web應用對全局連接池的引用說明,如下文字:

    <ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/>

      一般都是加在虛擬目錄里

      類似下面

    <Context
    crossContext="true"
    docBase="D:/feng"
    path="/feng"
    reloadable="true">


    <ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/>
    </Context>

      上面完成后,還需要配置對應虛擬目錄WEB應用的web.xml

      內容可以參考下面

    <web-app>
    <resource-ref>
    <description>MySQL DataSource example</description>
    <res-ref-name>jdbc/feng</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>

      保存D:\feng\WEB-INF\web.xml 文件

      應用示例

    <%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%>
    <%@ page contentType="text/html; charset=GB2312"%>
    <html>
    <head><title>DataSourse Connection Test</title></head>
    <body>
    <%
    try{
    Connection con;
    Statement stmt;
    ResultSet rs;

    Context ctx = new InitialContext();
    DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/feng");
    con=ds.getConnection();

    stmt=con.createStatement();
    rs=stmt.executeQuery("select * from user");
    while(rs.next()){
    out.println(rs.getString(1));
    %>
    <br>

    <%

    out.print(rs.getString(2));
    }
    rs.close();
    stmt.close();
    con.close();

    }catch(Exception e){
    out.print(e.getMessage());
    }

    %>

    </body>
    </html>
    posted @ 2007-09-24 14:29 I LOVE JAVA 閱讀(356) | 評論 (0)編輯 收藏
    IT
    IT,曾是技術界最亮麗的一道風景線。
      
      IT,由令人眼花繚亂的界面輸出,變幻莫測的后臺技術,出神入化的網絡聯系構成。產生不過幾十年,但已經徹底改變了整個世界,時至今日,幾乎每一項技術,都離不開IT的支持。我們無法想象,如果沒有了IT技術,我們今天會是什么樣子?因此有人說,IT不是技術,是一個世界。
      
      沒人可以否認IT造就的輝煌和IT時代曾經開創的高薪神話。在dot com時代,美國一個普通的程序員也有7萬美圓的年薪,在中國也曾經有40萬年薪的CCIE,那時還是90年代。
      
      但IT人員背后的光環掩蓋不了他們臉上的疲憊。2006年5月28日晚,年僅25歲的華為工程師胡新宇因長期加班勞累過度,在華為的實驗室永遠的倒了下去。引發了人們對IT企業和IT技術人員的種種反思。
      
      IT技術的特點一:用戶只見結果,不見過程。IT人員之間喜歡吹:看我用的技術,最尖端的Hibernate結構!看我的證書,CCIE、JCIE、 MCSD......!但這只是IT人員之間通行的語言,離開了IT還有幾個人聽得懂?用戶不認這個。用戶只看我花多少錢,實現了多少事,用戶只看界面是否實用漂亮,不管你是用ASP、JSP或是JAVA;用戶只知道網絡通還是不通、快還是不快,不管你是用Policy Routing、MPLS還是最簡單的Static Routing......簡單點說,用戶不會問甚至不會理解技術后邊的艱辛,只會對IT的效果提出越來越多的要求。
      
      IT技術的特點二:技術更新換代速度太快。Windows95還未用熟,Windows SR2已經在公測,接著就是Windows98;剛剛用熟VB6,又要馬上開始學.net;剛熟悉了CISCO IOS12,馬上又出了13。其他IT技術也大致如此,有人戲稱IT是半年一代產品,幾乎每代產品都和上一代略有不同,或完全不一樣。
      
      IT技術的特點三:技術消亡太快。95年的時候,如果你熟悉Novell網,必定能找到一份不錯的工作;如果你懂配置IBM的TokenRing和 NSA,也很吃香;而懂得將Powerbuilder的DataWindow搬上程序,必定很牛逼。而僅過幾年,這些知識除了茶余飯后作為聊資,確實一點用都沒有。IT企業在更替,隨之而產生的技術也不斷更替,你不知道哪個企業能活得更久,自然不會知道哪樣技術會在白白地耗掉你今天的時間。
      
      IT技術的特點四:技術幾乎沒有延續性。沒用過window2000的人直接用Windows XP會有困難嗎?沒寫過VB的人學寫.net會有困難嗎?沒配置過CISCO2501的人去學習CISCO7205會有困難嗎?答案都是沒有或很少。因此,IT的這項特性決定了IT這個行業的競爭比任何一個傳統行業都激烈。
      
      IT技術的特點五:總在晚上工作。因為不能干擾白天企業的正常運作,因此IT工作通常要在晚上加班做。
      
      IT技術的這些特性,注定了IT技術人員要不停地奔忙付出,在學習、收獲、放棄中輪回。
      
      IT企業同樣的困難,企業要生存,就要以最高端的技術為保障。別說是技術人員,就算是老總自己,都要天天去思考企業的倒閉。今年,華為終于超過CISCO,成為網絡公司國際專利申請最多的企業,而每一項專利的背后,必定是IT技術人員辛勤的血汗。
      
      IT企業對技術人員進行績效評估,通常只有兩個指標:工作技能和工作量。簡單點說技能就是對目前的知識(不是過往的,過往的對你幫助不大)你懂多少,和你干了多少活。這些都是高強度的工作所構成的,不管你當前的技術有多高,經驗有多深,只要你一個月不學或不干,你就嚴重落伍。
      
      在我認識的IT技術人員中,不論年紀高低,不論經驗深淺,幾乎沒有一個不累的。管理人員安排了工作可以去休息,銷售人員完成了指標也可以去玩,而IT技術人員,似乎只有不停的工作在等待他。
      
      這就是現狀。
    posted @ 2007-04-12 20:04 I LOVE JAVA 閱讀(300) | 評論 (0)編輯 收藏
    僅列出標題  

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲色大成网站WWW久久九九 | 国产免费观看黄AV片| 亚洲国产精品无码久久久| 日韩av无码久久精品免费| 久久精品视频亚洲| 四虎影视成人永久免费观看视频| 亚洲伊人久久精品影院| 三级黄色片免费看| 久久亚洲国产成人亚| 精品视频一区二区三区免费| 久久国产精品亚洲综合| 5555在线播放免费播放| 亚洲熟伦熟女专区hd高清| 国产大片线上免费看| 男女猛烈激情xx00免费视频| 中文字幕亚洲天堂| 最新亚洲成av人免费看| 亚洲日本中文字幕| 好大好硬好爽免费视频| 爱情岛论坛免费视频| 亚洲色偷拍另类无码专区| 69影院毛片免费观看视频在线| 亚洲一级毛片免费观看| 波多野结衣一区二区免费视频| 国产中文字幕在线免费观看| 亚洲高清视频免费| 国产成人免费片在线视频观看| 又大又硬又粗又黄的视频免费看| 亚洲AV综合色区无码一区爱AV| 又粗又大又黑又长的免费视频| 亚洲成a人无码亚洲成av无码| 久久久久亚洲AV无码专区桃色| 99爱免费观看视频在线| 亚洲精品永久在线观看| 中文字幕亚洲乱码熟女一区二区| 99久久免费观看| 青青草国产免费国产是公开| 久久亚洲国产成人亚| 免费jjzz在线播放国产| 2019中文字幕免费电影在线播放| 日韩国产欧美亚洲v片|