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

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

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

    vickzhu

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      151 隨筆 :: 0 文章 :: 34 評論 :: 0 Trackbacks

    #

    用于指定服務器上可以使用該COOKIE的文件所在的路徑,它只對該網址下的該路徑下的應用起作用."/"表示服務器上所有目錄都可以使用該COOKIE.
    posted @ 2009-09-18 11:38 筱 筱 閱讀(1166) | 評論 (0)編輯 收藏

    頁面如果用到Ext最好不要在body有任何文字輸出,不然的話ext會報一個錯誤!

    對象不支持此屬性或方法
    ext-all.js                                        行:9
    posted @ 2009-07-31 23:26 筱 筱 閱讀(152) | 評論 (0)編輯 收藏

    郁悶了兩天了,spring+hibernate查詢數據,sql語句在數據庫里試過了是正確的,數據庫里有數據,但是就是查不出數據。后來仔細看日志文件,恍然大悟,原來是整形字段賦值為null,
    Null value was assigned to a property of primitive type setter of com.*.*.*.age

    posted @ 2009-07-31 11:40 筱 筱 閱讀(1193) | 評論 (0)編輯 收藏

    1、得到record中的某個字段:record.get("字段名稱")
    2、得到form中的某個字段值:this.form.findField("字段名稱").getValue()
    3、從reader中得到root指定的字段除外的字段:store.reader.jsonData.字段名稱
    4、關于combobx
        valueField  :  設置值
        displayField  :設置顯示的值
        hiddenName :動態產生一個隱藏字段,以便表單提交的時候一起提交,事實上valueField和displayField在表單提交中沒有啟任何作用,往往指定hiddenName就行,如果在combobox中找到hiddenName匹配的值,則將匹配的值顯示出來,因此,細心的朋友可以發現,在將選擇的記錄賦給combobox所在的form時(this.form.loadRecord(record)),在combobox里首先會顯示出hiddenName指定的值(一般是id),在combobox的store加載完后,如果找到匹配的值則會顯示匹配的值,中間有個值的變化過程!引申一下,如果我們combobox下拉框里用的是樹,則hiddenName肯定是找不到匹配項的(Ext總是會在原始combobox下拉項中匹配,而現在下拉項換成了樹),因此combobox會一直顯示hiddenName的值(即一個id值)。在這種情況下我們就需要手動指定combobox的顯示值,具體方法是在combobox的load事件中用setRawValue指定。注意這里不能用setValue指定,因為在使用hiddenName的情況下,setValue首先將值賦給隱藏字段,如果在combobox中找到匹配項則顯示匹配項的值,如果沒有匹配的值就顯示setValue的值。

    posted @ 2009-07-29 13:29 筱 筱 閱讀(269) | 評論 (0)編輯 收藏

    apache common Pool 對象池
    apache common dbcp 數據庫連接池
    common dbcp依賴 common pool
    posted @ 2009-07-09 09:53 筱 筱 閱讀(174) | 評論 (0)編輯 收藏

    一、Ignoring namespace handler [org.springframework.ejb.config.JeeNamespaceHandler]: handler class not found
            需要添加spring-remoting.jar包,具體路徑為:MyEclipse 6.0\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_6.0.1.zmyeclipse601200710\data\2.0\dist\modules
    二、org.springframework.scripting.config.LangNamespaceHandler
            添加spring-support.jar包,具體路徑為:MyEclipse 6.0\myeclipse\eclipse\plugins\com.genuitec.eclipse.springframework_6.0.1.zmyeclipse601200710\data\2.0\dist\modules

    posted @ 2009-06-24 18:13 筱 筱 閱讀(324) | 評論 (1)編輯 收藏

    解決兩種情況下的用戶訪問超時。
    a)普通http請求的session超時。
    b)異步http請求的session超時,使用ext后大部分的界面刷新都是異步的ajax請求。

    不管是那種類型的http請求總是可以由一個過濾器來捕捉。
    分類:普通http請求的header參數中沒有x-requested-with:XMLHttpRequest頭信息,而異步的有。
    其實對于常見的ajax框架,header中還有標示自己身份的header信息。

    對于普通的http請求,發現session超時后直接重定向到一個超時頁面,顯示訪問超時。
    對于異步http請求,發現session超時后則向請求的response中寫入特定的超時頭信息,客戶端ajax對象檢測
    頭信息,發現有超時狀態標志后調用顯示超時信息的javascript方法,提示用戶訪問超時。

    服務器端session超時后在過濾器中為response添加新的頭信息,標記該請求超時:

    if(r.getHeader("x-requested-with")!=null
    && r.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){
    response.setHeader("sessionstatus","timeout");
    }
    使用Ext.Ajaxt對象完成異步請求的交互,Ext.Ajax是單實例對象(非常重要,全局單一Ext.Ajax實例!)。
    注冊Ext.Ajax的requestcomplete事件,每個ajax請求成功后首先響應該事件。在該事件的回調函數里面判斷
    訪問請求是否超時。使用Ext.Ajax對象的好處是,只需要引入一個包含了幾行超時處理代碼的js文件,就可以
    為當前應用增加超時處理功能,原有代碼不需要做任何修改。

    使用Ext.Ajaxt對象完成異步請求交互,假如checkUserSessionStatus是你的回調方法,每個頁面引用:

    Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this);
    function checkUserSessionStatus(conn,response,options){
    //Ext重新封裝了response對象
    if(typeof response.getResponseHeader.sessionstatus != 'undefined'){
    //發現請求超時,退出處理代碼...
    }
    }
    可以利用的幾個特性:
    a)所有的ajax請求均帶有x-requested-with:XMLHttpRequest頭信息
    b)Ext.Ajax是單實例對象(非常重要,全局單一Ext.Ajax實例!)
    c)注冊Ext.Ajax的requestcomplete事件,每個ajax請求成功后首先響應該事件(概念類似spring的aop攔截)。
    jquery提供了幾個全局事件可以用來處理session過期請求,如當ajax請求開始時會觸發ajaxStart()方法的回調函數;
    當ajax請求結束時,會觸發ajaxStop()方法的回調函數。這些方法都是全局的方法,因此無論創建它們的代碼位于何處,
    只要有ajax請求發生時,都會觸發它們。類似的事件還有:ajaxComplete(),ajaxError(),ajaxSend(),ajaxSuccess()等。
    如果使某個ajax請求不受全局方法的影響,那么可以在使用$.ajax()方法時,將參數中的global設置為false,jquery代碼如下:
    $.ajax({
        url:"test.html",
        global:false//不觸發全局ajax事件


    })

     對于其他的ajax框架,解決用戶訪問請求超時這個問題的思路是類似的。

    在這里推薦一個很實用的Js方法:

    function getRootWin(){
    var win = window;
    while (win != win.parent){
    win = win.parent;
    }
    return win;
    }
    

     

    通過該方法,可以在一個任意深度的iframe中調用父iframe中的方法。具體到這里就是無論哪一個iframe中的用戶訪

    問請求超時,都可以通過該方法調用最外層iframe中的退出方法,這樣便為用戶提供了一個統一的訪問超時退出的UI

    呈現。

    posted @ 2009-06-05 15:54 筱 筱 閱讀(3476) | 評論 (0)編輯 收藏

    failure:function(form, action){
        if(action.failureType == 'server'){
            //服務器端你自己返回success為false時
         Ext.MessageBox.alert('友情提示', action.result.info);
        }else if(action.failureType == 'connect'){
            //服務器指定的路徑鏈接不上時
         Ext.Msg.alert('連接錯誤','指定路徑連接錯誤!');
        }else if(action.failureType == 'client'){
            //客戶端數據驗證失敗的情況下,例如客戶端驗證郵件格式不正確的情況下提交表單
         Ext.Msg.alert('提示','數據錯誤,非法提交');
        }else{
            //其它類型的錯誤
         Ext.MessageBox.alert('警告', '服務器數據傳輸失敗:'+action.response.responseText);
        }
    },
    posted @ 2009-05-22 13:50 筱 筱 閱讀(575) | 評論 (0)編輯 收藏

    Ext的數據存儲器為:Ext.data.Store
    ExtJS中有一個名為Record的類,表格等控件中使用的數據是存放在Record對象中,一個Record可以理解為關系數據表中的一行,也可以稱為記錄。Record對象中即包含了記錄(行中各列)的定義信息(也就是該記錄包含哪些字段,每一個字段的數據類型等),同時又包含了記錄具體的數據信息(也就是各個字段的值)。一個比較正規的創建store的代碼如下:
    var MyRecord = Ext.data.Record.create([
     {name: 'title'},
     {name: 'username', mapping: 'author'},
     {name: 'loginTimes', type: 'int'},
     {name: 'lastLoginTime', mapping: 'loginTime', type: 'date'}
    ]);
    var dataProxy=new Ext.data.HttpProxy({url:"login.do"});
    var theReader=new Ext.data.JsonReader({
     totalProperty: "results", 
     root: "rows",             
     id: "id"                  
     },MyRecord
    );
    var store=new Ext.data.Store({  
     proxy:dataProxy,
     reader:theReader
    });
    store.load();
    store在創建的時候會自動使用HttpProxy來加載參數,并且使用post方式來提交請求,因此上面的代碼可簡化為:
    var MyRecord = Ext.data.Record.create([
     {name: 'title'},
     {name: 'username', mapping: 'author'},
     {name: 'loginTimes', type: 'int'},
     {name: 'lastLoginTime', mapping: 'loginTime', type: 'date'}
    ]);
    var theReader=new Ext.data.JsonReader({
     totalProperty: "results", 
     root: "rows",             
     id: "id"                  
     },MyRecord
    );
    var store=new Ext.data.Store({  
    url:'login.do',
     reader:theReader
    });
    store.load();
    在Store類的基礎上提供了SimpleStore、JSonStore、GroupingStore等,因此上面的JsonReader可以省略:
    var store = new Ext.data.JsonStore({
                url:'contact.do',
                root:'data',
                totalProperty:'totalCount',
                fields:[{name: 'vid', mapping: 'id'},
                    {name: 'name', mapping: 'name'},
                    {name: 'vmethod', mapping: 'vmethod'}]
            });
    posted @ 2009-05-22 11:15 筱 筱 閱讀(750) | 評論 (0)編輯 收藏

           success:function(form,action){
                  window.location.href = 'index.jsp'; 
            },
            failure : function(form, action) {
             if(action.failureType == 'server'){
              Ext.Msg.alert('登錄錯誤',action.result.errors);
                }else if(action.failureType == 'connect'){
                 Ext.Msg.alert('連接錯誤','指定路徑連接錯誤!');
                }else{
                 Ext.MessageBox.alert('警告', '服務器數據傳輸失敗:'+action.response.responseText);
                }
            }

            
            java返回的數據,成功為:String json="{success:true}",失敗為: String json="{success:false,errors:'用戶名或者密碼錯誤!!!'}";
    posted @ 2009-05-08 11:11 筱 筱 閱讀(1386) | 評論 (0)編輯 收藏

    僅列出標題
    共9頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 
    主站蜘蛛池模板: 久久久亚洲精华液精华液精华液| xxxxx做受大片视频免费| 亚洲国产精品张柏芝在线观看| 亚洲性线免费观看视频成熟| 丰满亚洲大尺度无码无码专线| 不卡一卡二卡三亚洲| 污网站在线观看免费| 亚洲AV无码久久精品蜜桃| 日韩免费高清视频| 在线观看免费播放av片| 国产亚洲人成网站观看| 久久免费观看国产精品| 亚洲综合无码无在线观看| 中文字幕第一页亚洲| 免费a级毛片高清视频不卡| 一级毛片免费一级直接观看| 亚洲精品成人网站在线播放 | 亚洲成AV人在线观看网址| 久久国产精品免费网站| 香蕉视频免费在线播放| 亚洲日韩乱码中文无码蜜桃| 国产成人综合亚洲AV第一页| 嫩草视频在线免费观看| 西西人体免费视频| 亚洲黄色在线观看| 亚洲精品网站在线观看不卡无广告 | 国产91免费在线观看| 一级女性全黄久久生活片免费 | 亚洲精品视频在线观看免费| 亚洲国产精品嫩草影院久久| 青草草色A免费观看在线| 中文字幕久无码免费久久| 18禁亚洲深夜福利人口| 亚洲午夜精品国产电影在线观看| 亚洲区小说区激情区图片区| 国产女高清在线看免费观看| 一个人看的www在线免费视频| 亚洲AV无码无限在线观看不卡| 免费一级黄色毛片| 国产精品久久久久久久久久免费| 外国成人网在线观看免费视频|