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

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

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

    tinguo002

     

    jquery form提交時中文亂碼

    jquery form提交時中文亂碼
      博客分類:
    • java
    在使用jsp開始時,一不小心就會出現中文亂碼的情況。通常可以使用如下方法解決:
    第一種解決方法:
    從jsp到servlet統一使用utf-8編碼.全部使用utf-8編碼能省去很多麻煩,但一點不足是utf-8編碼對漢字是使用3-4個字節,會加大網絡傳輸量。
    第二種方法:
    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中的內容來區分是ajax方式請求還是普通的請求。在jquery1.2.6中,ajaxSettings默認設置contentType為"application/x-www-form-urlencoded",在ajax方法中設置xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");,我們只要在servlet中根據這兩個參數值來判斷是不是通過xmlhttprequest發起的請求。這里值得一提的是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進行測試時,還發現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 一堣而安 閱讀(251) | 評論 (0)編輯 收藏

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

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

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

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


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



     

     

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

    把Enable on  demand  hyperlink  style  navigation關閉

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

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

     

    posted @ 2013-03-28 09:17 一堣而安 閱讀(488) | 評論 (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 一堣而安 閱讀(581) | 評論 (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系統中就有許多數據字典是使用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.每月各個單位的會計到經辦行交繳本單位的所有職工的住房公積金,系統記錄有每個職工的交繳明細并在每條記錄上記錄有經辦行的代碼;
    3.每月、季、半年及年終都要求將經辦行
    變為“列”給出個月的明細報表:
    經辦行:城西區 城東區
    月份:
    2001.01 xxxx1.xx xxxxx2.xx
    2001.02
    xxxx3.xx xxxxx4.xx
    。 。 。 。 。 。
    原來的數據順序是:
    城西區2001.01
    xxxxx1.xx
    城東區2001.01 xxxxx2.xx
    城西區2001.02 xxxxx3.xx
    城東區2001.02
    xxxxx4.xx
    住房公積金系統記錄職工的每月交繳名細的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,
    --系統日期
    oper_id varchar2(10)
    --操作員代碼
    這樣的表結構,一般按照將經辦行作為行(row)進行統計是很容易的,但是如果希望將經辦行變為列(column)這樣的格式來輸出就有困難。如果用DECODE函數來處理則變得很簡單:
    我們創建一個視圖來對目前的pay_lst表進行查詢。將經辦行代碼變為一些具體的經辦行名稱即可:
    CREATE
    OR REPLACE VIEW bank_date_lst AS
    Select to_char(tran_date,’yyyy.mm’),
    SUM(
    DECODE ( bank_code,’001’, tran_val,0 )) 城西區,
    SUM( DECODE ( bank_code,’002’,
    tran_val,0 )) 城南區,
    SUM( DECODE ( bank_code,’003’, tran_val,0 )) 城東區
    FROM
    pay_lst
    GROUP BY
    to_char(tran_date,’yyyy.mm’);
    建立視圖后,可直接對該視圖進行查詢就可按照列顯示出結果。

    posted @ 2013-03-22 15:35 一堣而安 閱讀(256) | 評論 (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 一堣而安 閱讀(1632) | 評論 (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的為選中狀態.(注意中間沒有空格)

    3,復選框:
    $("input[@type=checkbox][@checked]").val(); //得到復選框的選中的第一項的值
    $("input[@type=checkbox][@checked]").each(function(){ //由于復選框一般選中的是多個,所以可以循環輸出
       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;
    獲取值:
    文本框,文本區域:$("#txt").attr("value");
    多選框checkbox:$("#checkbox_id").attr("value");
    單選組radio: $("input[@type=radio][@checked]").val();
    下拉框select: $('#sel').val();
    控制表單元素:
    文本框,文本區域:$("#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;
    獲取值:
    文本框,文本區域:$("#txt").attr("value");
    多選框checkbox:$("#checkbox_id").attr("value");
    單選組radio: $("input[@type=radio][@checked]").val();
    下拉框select: $('#sel').val();
    控制表單元素:
    文本框,文本區域:$("#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一般都是用循環生成多個了

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

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

    });

     

    posted @ 2013-03-19 16:52 一堣而安 閱讀(211) | 評論 (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 一堣而安 閱讀(282) | 評論 (0)編輯 收藏

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

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

    posted @ 2013-03-19 16:01 一堣而安 閱讀(718) | 評論 (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 一堣而安 閱讀(286) | 評論 (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 一堣而安 閱讀(500) | 評論 (0)編輯 收藏

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

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成av人在片观看| 中文字幕亚洲第一在线| a毛片在线看片免费| 亚洲日本国产乱码va在线观看| 在线观看的免费网站| 久香草视频在线观看免费| 亚洲电影在线免费观看| 免费中文字幕在线| 国产h肉在线视频免费观看| 色网站在线免费观看| 亚洲网站在线免费观看| 日韩一区二区免费视频| 久久午夜无码免费| 亚洲精品色在线网站| 97se亚洲综合在线| 亚洲国产激情一区二区三区| 亚洲高清中文字幕免费| 免费无码作爱视频| 亚洲sm另类一区二区三区| 亚洲午夜精品久久久久久人妖| 国产一区二区三区免费视频| 亚洲免费视频播放| 三上悠亚电影全集免费| 色天使亚洲综合一区二区| 亚洲一区二区三区日本久久九| 亚洲精品视频免费| 欧洲精品免费一区二区三区| 精品一区二区三区免费毛片爱| 日韩久久无码免费毛片软件 | 伊人久久综在合线亚洲2019| 免费看国产精品麻豆| 国产成人免费高清激情视频| 99视频免费播放| 国产免费爽爽视频在线观看| 全黄A免费一级毛片| 亚洲欧美黑人猛交群| 亚洲国产精品久久网午夜| 亚洲成a人片77777老司机| 国产亚洲精品AA片在线观看不加载 | 午夜亚洲国产理论秋霞| 日韩亚洲变态另类中文|