tinguo002

           

          jquery form提交時中文亂碼

          jquery form提交時中文亂碼
            博客分類:
          • java
          在使用jsp開始時,一不小心就會出現中文亂碼的情況。通常可以使用如下方法解決:
          第一種解決方法:
          從jsp到servlet統(tǒng)一使用utf-8編碼.全部使用utf-8編碼能省去很多麻煩,但一點不足是utf-8編碼對漢字是使用3-4個字節(jié),會加大網絡傳輸量。
          第二種方法:
          1.jsp頁面使用GBK
          2.使用servlet過濾器設置request.setCharacterEncoding("GBK");google一下就能找到很多怎么使用過濾器轉換編碼。
          以上兩種方法能解決大部分的亂碼問題,特別是第一種方法,能解決使用ajax提交時的中文亂碼問題。如果采用第二種方法,那么在使用ajax提交表單時仍然會有中文亂碼。這是因為ajax方式提交時js使用的是utf-8的編碼,過濾器使用gbk進行轉碼就不正確了,應該使用utf-8進行轉碼。要解決這個問題,網上也有很多個版本,其中一個是我曾經采用的在客戶端使用encodeURI,然后再在服務器端進行URLDecoder.decode,這種方案在偶爾處理一下中文是可行的,但是如果頁面有大量數據錄入,那么這種方案是不可行的。有沒有好的解決方法呢?在經過新一輪的google之后,還是找到了方法。參考http://www.iteye.com/topic/157698?page=1。原理就是根據httpheader中的內容來區(qū)分是ajax方式請求還是普通的請求。在jquery1.2.6中,ajaxSettings默認設置contentType為"application/x-www-form-urlencoded",在ajax方法中設置xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");,我們只要在servlet中根據這兩個參數值來判斷是不是通過xmlhttprequest發(fā)起的請求。這里值得一提的是jquery在提交form時對參數進行了encodeURIComponent調用,參見param方法
          Java代碼 復制代碼 收藏代碼
          1. jQuery.each( a, function(){ 
          2.                 s.push( encodeURIComponent(this.name) + "=" + encodeURIComponent( this.value ) ); 
          3.             }); 

          所以傳給servlet的就是utf-8編碼了,那么我們在過濾器中就必須使用utf-8進行轉碼。
          對其中的過濾器做了下修正,在IE下和chrome下,request.getContentType()的值為"application/x-www-form-urlencoded",但是在firefox下,這個值為"application/x-www-form-urlencoded; charset=UTF-8",不是很明白ff為什么會是這個值。
          filter代碼如下:
          Java代碼 復制代碼 收藏代碼
          1. package com.ajax.demo.action; 
          2.  
          3. import java.io.IOException; 
          4.  
          5. import javax.servlet.Filter; 
          6. import javax.servlet.FilterChain; 
          7. import javax.servlet.FilterConfig; 
          8. import javax.servlet.ServletException; 
          9. import javax.servlet.ServletRequest; 
          10. import javax.servlet.ServletResponse; 
          11. import javax.servlet.http.HttpServletRequest; 
          12. import javax.servlet.http.HttpServletResponse; 
          13.  
          14. public class AjaxPostFilter implements Filter { 
          15.  
          16.     private static final String IE_CONTENT_TYPE = "application/x-www-form-urlencoded"
          17.     private static final String FF_AJAX_CONTENT_TYPE = "application/x-www-form-urlencoded; charset=UTF-8"
          18.     private static final String XMLHTTP_REQUEST = "XMLHttpRequest"
          19.     private static final String AJAX_CHARACTER_ENCODING_UTF8 = "UTF-8"
          20.  
          21.     public void destroy() { 
          22.         // TODO Auto-generated method stub 
          23.  
          24.     } 
          25.  
          26.     public void doFilter(ServletRequest servletRequest, 
          27.             ServletResponse servletResponse, FilterChain filterChain) 
          28.             throws IOException, ServletException { 
          29.         HttpServletRequest request = (HttpServletRequest) servletRequest; 
          30.         HttpServletResponse response = (HttpServletResponse) servletResponse; 
          31.         String requestedWith = request.getHeader("x-requested-with"); 
          32.         String type = request.getContentType(); 
          33.         if (XMLHTTP_REQUEST.equals(requestedWith)&& (FF_AJAX_CONTENT_TYPE.equals(type) 
          34.                 ||IE_CONTENT_TYPE.equals(type))) { 
          35.             request.setCharacterEncoding(AJAX_CHARACTER_ENCODING_UTF8); 
          36.             response.setCharacterEncoding(AJAX_CHARACTER_ENCODING_UTF8); 
          37. //          request.getParameterMap(); 
          38.         } 
          39.         filterChain.doFilter(request, response); 
          40.  
          41.     } 
          42.  
          43.     public void init(FilterConfig arg0) throws ServletException { 
          44.         // TODO Auto-generated method stub 
          45.  
          46.     } 
          47.  


          web.xml配置,我用的是struts
          Java代碼 復制代碼 收藏代碼
          1. <filter> 
          2.         <filter-name>ajaxEncodeFilter</filter-name> 
          3.         <filter-class>com.ajax.demo.action.AjaxPostFilter</filter-class
          4.     </filter> 
          5.     <filter-mapping> 
          6.         <filter-name>ajaxEncodeFilter</filter-name> 
          7.         <url-pattern>*.do</url-pattern> 
          8.     </filter-mapping> 
          9.     <filter-mapping> 
          10.         <filter-name>ajaxEncodeFilter</filter-name> 
          11.         <url-pattern>*.jsp</url-pattern> 
          12.     </filter-mapping> 


          這個filter應該在你的EncodeFilter之后,RoyMax說要在之前,我試了下是不行的。
          經過這樣設置之后,jsp使用gbk采用ajax提交就不會存在中文亂碼了。

          在使用chrome進行測試時,還發(fā)現chrome的一個奇怪問題,對于返回的結果,使用jquery.ajax處理
          Java代碼 復制代碼 收藏代碼
          1. success:function showResponse(responseText, statusText)  {  
          2. //這里name為input text id,如果"aa"在前,那么name的值會改為aa+返回的結果 
          3.                     $('#name').val("aa"+responseText); 
          4. //如果改成$('#name').val(responseText+"aa"),那么name的值仍然是//responseText,“aa”沒有加到后面去,不知道是什么原因 

          posted @ 2013-03-29 08:16 一堣而安 閱讀(253) | 評論 (0)編輯 收藏

          MyEclipse中使用復制粘貼功能卡的解決辦法

          MyEclipse中使用復制粘貼功能卡的解決辦法 

          轉載:http://blog.163.com/nishuai_program/blog/static/19410520320117204944971/
          --

          最近在MyEclipse中編輯代碼時,使用快捷鍵進行復制粘貼,經常會導致編輯器短暫的停頓,光標不跟隨,居然反應不過來,幾近假死。


          想來想去應該是編輯上的什么配置或者是IDE的什么功能導致,于是進入Preferences查找edit功能,進行一個個的測試,最后發(fā)現原來是代碼的超鏈功能導致。



           

           

          進入方法:Window -> Preferences -> General -> Editors -> Text Editors
          -> Hyperlinking

          把Enable on  demand  hyperlink  style  navigation關閉

          說明:在Eclipse中,經常可以使用Ctrl+鼠標單擊,可以直接將編輯界面引導到相關的方法,屬性,或者類。

          這個功能確實非常好用,但是由于復制粘貼的功能快捷鍵也是Ctrl,以致我在快速進行操作的時候,Eclipse反應不過來,無法分析我的操作,而且不知道為什么,這個功能盡然令雙擊單詞自動選中的功能也會卡,很奇怪,知道我把這個功能完全關閉后,這個問題終于徹底解決,只是丟失了一個快接的代碼超鏈功能。

           

          posted @ 2013-03-28 09:17 一堣而安 閱讀(491) | 評論 (0)編輯 收藏

          amchart 的setting.xml 詳解 (轉載自:http://slikel.iteye.com/blog/1601661)

               摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?xml version="1.0" encoding="UTF-8"?><!-- []內的值是默認值,意思是指如果你覺得這樣設置還不錯你可以刪除該行,這...  閱讀全文

          posted @ 2013-03-25 15:42 一堣而安 閱讀(584) | 評論 (0)編輯 收藏

          Oracle DECODE函數

          轉載:http://database.51cto.com/art/201011/232740.htm

          DECODE是Oracle公司獨家提供的功,該函數功能強大,下文對DECODE函數的語法作了詳盡的闡述,供您參考學習。

           

          Oracle DECODE函數功能很強,下面就為您詳細介紹Oracle
          DECODE函數的用法,希望可以讓您對Oracle DECODE函數有更多的了解。

          Oracle DECODE函數


          Oracle
          DECODE函數是Oracle公司獨家提供的功能,它是一個功能很強的函數。它雖然不是SQL的標準,但對于性能非常有用。到目前,其他的數據庫供應商還不能提供類似DECODE的功能,甚至有的數據庫的供應商批評Oracle的SQL不標準。實際上,這種批評有些片面或不夠水平。就象有些馬車制造商抱怨亨利。福特的“馬車”不標準一樣。


          1 DECODE 中的if-then-else邏輯
          在邏輯編程中,經常用到If – Then –Else
          進行邏輯判斷。在DECODE的語法中,實際上就是這樣的邏輯處理過程。它的語法如下:
          DECODE(value, if1, then1,
          if2,then2, if3,then3, . . . else )
          Value
          代表某個表的任何類型的任意列或一個通過計算所得的任何結果。當每個value值被測試,如果value的值為if1,Decode
          函數的結果是then1;如果value等于if2,Decode函數結果是then2;等等。事實上,可以給出多個if/then
          配對。如果value結果不等于給出的任何配對時,Decode 結果就返回else 。
          需要注意的是,這里的if、then及else
          都可以是函數或計算表達式。
          含義解釋:
          DECODE(條件,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,缺省值)


          該函數的含義如下:
          IF 條件=值1 THEN
          RETURN(翻譯值1)
          ELSIF 條件=值2
          THEN
          RETURN(翻譯值2)
          ......
          ELSIF 條件=值n THEN
          RETURN(翻譯值n)


          ELSE
          RETURN(缺省值)
          END IF


          2 DECODE 的簡單例子
          Oracle系統(tǒng)中就有許多數據字典是使用decode
          思想設計的,比如記錄會話信息的V$SESSION數據字典視圖就是這樣。我們從《Oracle8i/9i
          Reference》資料中了解到,當用戶登錄成功后在V$SESSION中就有該用戶的相應記錄,但用戶所進行的命令操作在該視圖中只記錄命令的代碼
          (0—沒有任何操作,2—Insert…),而不是具體的命令關鍵字。因此,我們需要了解當前各個用戶的名字及他們所進行的操作時,要用下面命令才能得到
          詳細的結果:
          select
          sid,serial#,username,
          DECODE(command,
          0,’None’,
          2,’Insert’,
          3,’Select’,
          6,’Update’,
          7,’Delete’,
          8,’Drop’,
          ‘Other’)
          cmmand
          from v$session where username is not null;
          3
          DECODE實現表的轉置
          數據庫中的表是由列和行構成的一個二維表。一般列在任何數據庫中都是有限的數量,而行的變化較大,如果表很大,行的數量可能大上千萬行。同一列的不同行可能有不同的值,而且不是預先定義的。
          例:住房公積金報表置換實例:
          1.各個單位在本地經辦行進行開戶,開戶就是將單位的基本信息和職工信息的進行登記;
          2.每月各個單位的會計到經辦行交繳本單位的所有職工的住房公積金,系統(tǒng)記錄有每個職工的交繳明細并在每條記錄上記錄有經辦行的代碼;
          3.每月、季、半年及年終都要求將經辦行
          變?yōu)?#8220;列”給出個月的明細報表:
          經辦行:城西區(qū) 城東區(qū)
          月份:
          2001.01 xxxx1.xx xxxxx2.xx
          2001.02
          xxxx3.xx xxxxx4.xx
          。 。 。 。 。 。
          原來的數據順序是:
          城西區(qū)2001.01
          xxxxx1.xx
          城東區(qū)2001.01 xxxxx2.xx
          城西區(qū)2001.02 xxxxx3.xx
          城東區(qū)2001.02
          xxxxx4.xx
          住房公積金系統(tǒng)記錄職工的每月交繳名細的pay_lst表結構是:
          bank_code varchar2(6)NOT NULL,
          -- 經辦行代碼
          acc_no varchar2(15) not null, -- 單位代碼(單位帳號)
          emp_acc_no
          varchar2(20) not null, -- 職工帳號
          tran_date date not null, -- 交繳日期
          tran_val
          Number(7,2) not null, -- 交繳額
          sys_date date default sysdate,
          --系統(tǒng)日期
          oper_id varchar2(10)
          --操作員代碼
          這樣的表結構,一般按照將經辦行作為行(row)進行統(tǒng)計是很容易的,但是如果希望將經辦行變?yōu)榱?column)這樣的格式來輸出就有困難。如果用DECODE函數來處理則變得很簡單:
          我們創(chuàng)建一個視圖來對目前的pay_lst表進行查詢。將經辦行代碼變?yōu)橐恍┚唧w的經辦行名稱即可:
          CREATE
          OR REPLACE VIEW bank_date_lst AS
          Select to_char(tran_date,’yyyy.mm’),
          SUM(
          DECODE ( bank_code,’001’, tran_val,0 )) 城西區(qū),
          SUM( DECODE ( bank_code,’002’,
          tran_val,0 )) 城南區(qū),
          SUM( DECODE ( bank_code,’003’, tran_val,0 )) 城東區(qū)
          FROM
          pay_lst
          GROUP BY
          to_char(tran_date,’yyyy.mm’);
          建立視圖后,可直接對該視圖進行查詢就可按照列顯示出結果。

          posted @ 2013-03-22 15:35 一堣而安 閱讀(259) | 評論 (0)編輯 收藏

          oracle 1月-12月數據查詢

          StringBuilder sql = new StringBuilder();
                  sql.append(
          "select ");
                  sql.append(
          "(");
                  sql.append(
          " select count(*) from fds_case t where ");
                  sql.append(
          " t.belongsystemunid = '28B78C2F0E9ECBA275775794C1058F2A' ");
                  sql.append(
          " and (t.occur_time between '2013-01-01' and  to_char(last_day(date'2013-01-01'),'YYYY-MM-DD')) ");
                  sql.append(
          ") as 一月份,");
                  sql.append(
          "(");
                  sql.append(
          " select count(*) from fds_case t where ");
                  sql.append(
          " t.belongsystemunid = '28B78C2F0E9ECBA275775794C1058F2A'");
                  sql.append(
          " and (t.occur_time between '2013-02-01' and  to_char(last_day(date'2013-02-01'),'YYYY-MM-DD'))  ");
                  sql.append(
          ") as 二月份,");
                  sql.append(
          " from dual;");
          select substr(t.create_time, 04) years,
                 
          sum(decode(substr(t.create_time, 62), '01'10)) 月01,
                 
          sum(decode(substr(t.create_time, 62), '02'10)) 月02,
                 
          sum(decode(substr(t.create_time, 62), '03'10)) 月03,
                 
          sum(decode(substr(t.create_time, 62), '04'10)) 月04,
                 
          sum(decode(substr(t.create_time, 62), '05'10)) 月05,
                 
          sum(decode(substr(t.create_time, 62), '06'10)) 月06,
                 
          sum(decode(substr(t.create_time, 62), '07'10)) 月07,
                 
          sum(decode(substr(t.create_time, 62), '08'10)) 月08,
                 
          sum(decode(substr(t.create_time, 62), '09'10)) 月09,
                 
          sum(decode(substr(t.create_time, 62), '10'10)) 月10,
                 
          sum(decode(substr(t.create_time, 62), '11'10)) 月11,
                 
          sum(decode(substr(t.create_time, 62), '12'10)) 月12,
                 
          count(1) alls
            
          from FDS_CASE t
           
          where t.del = 'N'
             
          and t.belongsystemunid = '28B78C2F0E9ECBA275775794C1058F2A'




          posted @ 2013-03-19 17:35 一堣而安 閱讀(1637) | 評論 (0)編輯 收藏

          jQuery對select操作小結

          轉載:

          http://www.cnblogs.com/as285996985/articles/1535014.html

          //遍歷option和添加、移除option
          function changeShipMethod(shipping){
          var len = $("select[@name=ISHIPTYPE] option").length
          if(shipping.value != "CA"){
            $("select[@name=ISHIPTYPE] option").each(function(){
             if($(this).val() == 111){
              $(this).remove();
             }
            });
          }else{
            $("<option value='111'>UPS Ground</option>").appendTo($("select[@name=ISHIPTYPE]"));
          }
          }


          //取得下拉選單的選取值

          $('#testSelect option:selected').text();
          或$("#testSelect").find('option:selected').text();
          或$("#testSelect").val();
          //////////////////////////////////////////////////////////////////
          記性不好的可以收藏下:
          1,下拉框:

          var cc1   = $(".formc select[@name='country'] option[@selected]").text(); //得到下拉菜單的選中項的文本(注意中間有空格)
          var cc2 = $('.formc select[@name="country"]').val();   //得到下拉菜單的選中項的值
          var cc3 = $('.formc select[@name="country"]').attr("id"); //得到下拉菜單的選中項的ID屬性值
          $("#select").empty();//清空下拉框//$("#select").html('');
          $("<option value='1'>1111</option>").appendTo("#select")//添加下拉框的option

          稍微解釋一下:
          1.select[@name='country'] option[@selected] 表示具有name 屬性,
          并且該屬性值為'country' 的select元素 里面的具有selected 屬性的option 元素;
          可以看出有@開頭的就表示后面跟的是屬性。

          2,單選框:
          $("input[@type=radio][@checked]").val();   //得到單選框的選中項的值(注意中間沒有空格)
          $("input[@type=radio][@value=2]").attr("checked",'checked'); //設置單選框value=2的為選中狀態(tài).(注意中間沒有空格)

          3,復選框:
          $("input[@type=checkbox][@checked]").val(); //得到復選框的選中的第一項的值
          $("input[@type=checkbox][@checked]").each(function(){ //由于復選框一般選中的是多個,所以可以循環(huán)輸出
             alert($(this).val());
             });

          $("#chk1").attr("checked",'');//不打勾
          $("#chk2").attr("checked",true);//打勾
          if($("#chk1").attr('checked')==undefined){} //判斷是否已經打勾


          當然jquery的選擇器是強大的. 還有很多方法.

          <script src="jquery-1.2.1.js" type="text/javascript"></script>
          <script language="javascript" type="text/javascript">
          $(document).ready(function(){
          $("#selectTest").change(function()
          {
                 //alert("Hello");
                 //alert($("#selectTest").attr("name"));
                 //$("a").attr("href","xx.html");
                 //window.location.href="xx.html";
                 //alert($("#selectTest").val());
                 alert($("#selectTest option[@selected]").text());
                 $("#selectTest").attr("value", "2");

          });
          });
          </script>


          <a href="#">aaass</a>

          <!--下拉框-->
          <select id="selectTest" name="selectTest">
          <option value="1">11</option>
          <option value="2">22</option>
          <option value="3">33</option>
          <option value="4">44</option>
          <option value="5">55</option>
          <option value="6">66</option>
          </select>
          jquery radio取值,checkbox取值,select取值,radio選中,checkbox選中,select選中,及其相關獲取一組radio被選中項的值
          var item = $('input[@name=items][@checked]').val();
          獲取select被選中項的文本
          var item = $("select[@name=items] option[@selected]").text();
          select下拉框的第二個元素為當前選中值
          $('#select_id')[0].selectedIndex = 1;
          radio單選組的第二個元素為當前選中值
          $('input[@name=items]').get(1).checked = true;
          獲取值:
          文本框,文本區(qū)域:$("#txt").attr("value");
          多選框checkbox:$("#checkbox_id").attr("value");
          單選組radio: $("input[@type=radio][@checked]").val();
          下拉框select: $('#sel').val();
          控制表單元素:
          文本框,文本區(qū)域:$("#txt").attr("value",'');//清空內容
                          $("#txt").attr("value",'11');//填充內容
          多選框checkbox: $("#chk1").attr("checked",'');//不打勾
                          $("#chk2").attr("checked",true);//打勾
                          if($("#chk1").attr('checked')==undefined) //判斷是否已經打勾
          單選組radio: $("input[@type=radio]").attr("checked",'2');//設置value=2的項目為當前選中項
          下拉框select: $("#sel").attr("value",'-sel3');//設置value=-sel3的項目為當前選中項
                      $("<optionvalue='1'>1111</option><optionvalue='2'> 2222</option>").appendTo("#sel")//添加下拉框的option
                      $("#sel").empty();//清空下拉框

          獲取一組radio被選中項的值
          var item = $('input[@name=items][@checked]').val();
          獲取select被選中項的文本
          var item = $("select[@name=items] option[@selected]").text();
          select下拉框的第二個元素為當前選中值
          $('#select_id')[0].selectedIndex = 1;
          radio單選組的第二個元素為當前選中值
          $('input[@name=items]').get(1).checked = true;
          獲取值:
          文本框,文本區(qū)域:$("#txt").attr("value");
          多選框checkbox:$("#checkbox_id").attr("value");
          單選組radio: $("input[@type=radio][@checked]").val();
          下拉框select: $('#sel').val();
          控制表單元素:
          文本框,文本區(qū)域:$("#txt").attr("value",'');//清空內容
          $("#txt").attr("value",'11');//填充內容
          多選框checkbox: $("#chk1").attr("checked",'');//不打勾
          $("#chk2").attr("checked",true);//打勾
          if($("#chk1").attr('checked')==undefined) //判斷是否已經打勾
          單選組radio: $("input[@type=radio]").attr("checked",'2');//設置value=2的項目為當前選中項
          下拉框select: $("#sel").attr("value",'-sel3');//設置value=-sel3的項目為當前選中項
          $("<option value='1'>1111</option><option value='2'>2222</option>").appendTo("#sel")//添加下拉框的option
          $("#sel").empty();//清空下拉框


          =======================================================
          參考:http://blog.csdn.net/nairuohe/article/details/6307367

          每一次操作select的時候,總是要出來翻一下資料,不如自己總結一下,以后就翻這里了。

          比如<select class="selector"></select>

          1、設置value為pxx的項選中

               $(".selector").val("pxx");

          2、設置text為pxx的項選中

              $(".selector").find("option[text='pxx']").attr("selected",true);

              這里有一個中括號的用法,中括號里的等號的前面是屬性名稱,不用加引號。很多時候,中括號的運用可以使得邏輯變得很簡單。

          3、獲取當前選中項的value

              $(".selector").val();

          4、獲取當前選中項的text

              $(".selector").find("option:selected").text();

              這里用到了冒號,掌握它的用法并舉一反三也會讓代碼變得簡潔。

           

          很多時候用到select的級聯,即第二個select的值隨著第一個select選中的值變化。這在jquery中是非常簡單的。

          如:$(".selector1").change(function(){

               // 先清空第二個

                $(".selector2").empty();

               // 實際的應用中,這里的option一般都是用循環(huán)生成多個了

                var option = $("<option>").val(1).text("pxx");

                $(".selector2").append(option);

          });

           

          posted @ 2013-03-19 16:52 一堣而安 閱讀(215) | 評論 (0)編輯 收藏

          js 操作selecct 總結

          轉載:http://www.cnblogs.com/Herist/archive/2007/09/24/903890.html

          判斷select選項中 是否存在Value
          ="paraValue"的Item
          向select選項中 加入一個Item
          從select選項中 刪除一個Item
          刪除select中選中的項
          修改select選項中 value
          ="paraValue"的text為"paraText"
          設置select中text
          ="paraText"的第一個Item為選中
          設置select中value
          ="paraValue"的Item為選中
          得到select的當前選中項的value
          得到select的當前選中項的text
          得到select的當前選中項的Index
          清空select的項
          js 代碼
          // 1.判斷select選項中 是否存在Value="paraValue"的Item       
          function jsSelectIsExitItem(objSelect, objItemValue) {       
             
          var isExit = false;       
             
          for (var i = 0; i < objSelect.options.length; i++) {       
                 
          if (objSelect.options[i].value == objItemValue) {       
                      isExit
          = true;       
                     
          break;       
                  }
                 
              }
                 
             
          return isExit;       
          }
                  
            
          // 2.向select選項中 加入一個Item       
          function jsAddItemToSelect(objSelect, objItemText, objItemValue) {       
             
          //判斷是否存在       
              if (jsSelectIsExitItem(objSelect, objItemValue)) {       
                  alert(
          "該Item的Value值已經存在");       
              }
          else {       
                 
          var varItem = new Option(objItemText, objItemValue);     
                  objSelect.options.add(varItem);    
                  alert(
          "成功加入");    
              }
                 
          }
                 
            
          // 3.從select選項中 刪除一個Item       
          function jsRemoveItemFromSelect(objSelect, objItemValue) {       
             
          //判斷是否存在       
              if (jsSelectIsExitItem(objSelect, objItemValue)) {       
                 
          for (var i = 0; i < objSelect.options.length; i++) {       
                     
          if (objSelect.options[i].value == objItemValue) {       
                          objSelect.options.remove(i);       
                         
          break;       
                      }
                 
                  }
                 
                  alert(
          "成功刪除");       
              }
          else {       
                  alert(
          "該select中 不存在該項");       
              }
                 
          }
             
            
            
          // 4.刪除select中選中的項   
          function jsRemoveSelectedItemFromSelect(objSelect) {       
             
          var length = objSelect.options.length - 1;   
             
          for(var i = length; i >= 0; i--){   
                 
          if(objSelect[i].selected == true){   
                      objSelect.options[i]
          = null;   
                  }
             
              }
             
          }
               
            
          // 5.修改select選項中 value="paraValue"的text為"paraText"       
          function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {       
             
          //判斷是否存在       
              if (jsSelectIsExitItem(objSelect, objItemValue)) {       
                 
          for (var i = 0; i < objSelect.options.length; i++) {       
                     
          if (objSelect.options[i].value == objItemValue) {       
                          objSelect.options[i].text
          = objItemText;       
                         
          break;       
                      }
                 
                  }
                 
                  alert(
          "成功修改");       
              }
          else {       
                  alert(
          "該select中 不存在該項");       
              }
                 
          }
                 
            
          // 6.設置select中text="paraText"的第一個Item為選中       
          function jsSelectItemByValue(objSelect, objItemText) {           
             
          //判斷是否存在       
              var isExit = false;       
             
          for (var i = 0; i < objSelect.options.length; i++) {       
                 
          if (objSelect.options[i].text == objItemText) {       
                      objSelect.options[i].selected
          = true;       
                      isExit
          = true;       
                     
          break;       
                  }
                 
              }
                       
             
          //Show出結果       
              if (isExit) {       
                  alert(
          "成功選中");       
              }
          else {       
                  alert(
          "該select中 不存在該項");       
              }
                 
          }
                 
            
          // 7.設置select中value="paraValue"的Item為選中   
          document.all.objSelect.value = objItemValue;   
                
          // 8.得到select的當前選中項的value   
          var currSelectValue = document.all.objSelect.value;   
                
          // 9.得到select的當前選中項的text   
          var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;   
                
          // 10.得到select的當前選中項的Index   
          var currSelectIndex = document.all.objSelect.selectedIndex;   



                
          // 11.清空select的項   
          document.all.objSelect.options.length = 0

          posted @ 2013-03-19 16:51 一堣而安 閱讀(283) | 評論 (0)編輯 收藏

          jsp 頁面 把一個json格式的字符串 轉化成對象的二種方法

          jsp 頁面  把一個字符串  轉化成對象的二種方法
              var arr = $.parseJSON(jsonStr);    //需要引入 jQuery 包
              var arr = eval('(' + jsonStr + ')');

          posted @ 2013-03-19 16:01 一堣而安 閱讀(720) | 評論 (0)編輯 收藏

          取得指定月份的最后一天、在當前日期的基礎上加/減月份

          轉載:
          http://blog.csdn.net/szwangdf/article/details/2290533

          last_day:返回包含了日期參數的月份的最后一天的日期。

          select last_day(sysdate) from dual;

               LAST_DAY(SYSDATE)
              
          -------------------
               2008/02/29 11:24:04
               SQL
          > select last_day(date'1892-02-15') from dual;

               LAST_DAY(DATE
          '1892-
               -------------------
               1892/02/29 00:00:00

          add_months:在當前日期的基礎上加/減月份,返回加/減后的日期。
          SQL> select add_months(sysdate, -3) three_months_ago from dual;

               THREE_MONTHS_AGO
              
          -------------------
               2007/11/16 11:23:16

          posted @ 2013-03-18 16:28 一堣而安 閱讀(293) | 評論 (0)編輯 收藏

          Invalid byte 2 of 2-byte UTF-8 sequence解決方案

          轉載:http://www.cnblogs.com/balaamwe/archive/2012/03/07/2383413.html

          Invalid byte 2 of 2-byte UTF-8 sequence解決方案

          異常信息如下:

          2009-9-14 3:56:54 org.apache.catalina.startup.Catalina stopServer  
          嚴重: Catalina.stop:   
          com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.  
              at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)  
              at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)  
              at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)  
              at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(Unknown Source)  
              at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown Source)  
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unknown Source)  
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)  
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)  
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)  
              at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)  
              at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)  
              at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)  
              at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)  
              at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)  
              at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)  
              at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644)  
              at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:410)  
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
              at java.lang.reflect.Method.invoke(Unknown Source)  
              at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:337)  
              at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)

          解決方案如下:

          方案1

          檢查tomcat里面的配置文件中有沒有使用漢字(包括注釋),有漢字則把漢字改成英文

          方案2

          在有漢字的配置文件中,加入如下代碼

          <?xml version="1.0" encoding="gbk"?>

          posted @ 2013-03-17 21:37 一堣而安 閱讀(506) | 評論 (0)編輯 收藏

          僅列出標題
          共17頁: First 上一頁 8 9 10 11 12 13 14 15 16 下一頁 Last 

          導航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 包头市| 山丹县| 嘉义市| 三穗县| 义马市| 乐东| 陆丰市| 罗山县| 乐清市| 延庆县| 洱源县| 金门县| 惠州市| 西青区| 吕梁市| 奈曼旗| 五峰| 集贤县| 张家口市| 林口县| 顺昌县| 桐乡市| 乐安县| 兴和县| 广河县| 洛南县| 手机| 柳江县| 铁岭市| 乌兰浩特市| 甘孜县| 兖州市| 焦作市| 巴林右旗| 太保市| 贺州市| 陇川县| 峨边| 五华县| 师宗县| 高尔夫|