ExtJS實戰 9 疑難雜症分析

2021-06-08 05:17:47 字數 2019 閱讀 5816

在做專案的過程中,難免會遇到大大小小的問題(這是好事情,要不我們怎麼進步呢?),那麼,我們就把一些共性的值得**的問題拿出來,一起分析下:

1. js沒有錯誤,但卻一直報未結束的字串常量

這個問題很有趣,後來發現是編碼問題,在拷貝或寫入中文前,寫把js檔案的編碼方式改為utf-8

2.組合分頁中,hibernate報unsupported method: resultset.absolute

我們知道這是結果集分頁的方法,而jdbc的驅動是支援的。那麼原因就只能是hibernate中setfirstresult()為一負值

3.combo下拉列表框問題

首先是它命名的值一直傳不到伺服器端,而其它控制項都可以。後來才發現,它比較特別,它提交表單的名字是由hiddenname屬性決定,而不是

name

屬性。再就是在我們的應用中有大量的下拉列表框,房屋的幾室幾廳,是靜態的下拉框;而區域和街道的下拉列表框,卻是動態的下拉框(所謂的動態,也就是裡面的資料是從伺服器端得到的!),並且區域和街道還有聯動效果。這裡比較棘手的就是動態的下拉框,所有區域資訊我們可以在一開始就從伺服器端載入儲存到本地,因為查詢,新增,編輯裡都要用到。而街道和區域有聯動關係,這個也可以通過dwr實現。最麻煩的地方在於編輯的表單顯示的時候,區域和街道都要有值,也就是說在利用dwr取得某條房屋資訊時,我們還要取得這條房屋資訊所在區域的所有街道資訊,這樣才能達到我們的效果!

4.匯入了漢化的js檔案,但時間控制項依然沒有變化。

要注意js的匯入順序,ext-lang-zh_cn.js一定要在ext-all.js之後匯入。

5.criteria如何比較date的大小,它能夠使用統計函式嗎?

這兩個小問題也很值得思考criteria裡是不能使用時間函式的.那麼比較日期就要使用點技巧,譬如查詢2008-10-12日發布的租房資訊。實際上就是查發布時間在2008-10-12 00:00:00 和2008-10-12 23:59:59之間的房子。

在hibernate 2.x版本,criteria是不支援投影查詢和統計函式的。但3.x是支援的。譬如查詢hid的總記錄數:setprojection(projections.count("hid"));

6.有時候**標題頭顯示不出來

可以去掉文件型別宣告試一下:

css問題,匯入的js有順序問題要注意!

7.不聯網時s.gif圖示顯示不出來

因為它缺省會到extjs的主頁上尋找s.gif.我們可以修改ext-base.js blank_image_url為本地路徑

也可以在應用中直接加一行:ext.blank_image_url = '/youprojectname/resources/images/default/s.gif'; // 替換預設的空白

8.tabpanel不能新增右鍵選單,也不能自動伸縮?

要想解決這樣的問題,我們需要引入tabclosemenu.js,然後在我們的tabpanel裡面加乙個屬性plugins: new ext.ux.tabclosemenu()

9.表單提交url : 'house.do?param=add',在伺服器端得不到引數param的值?

注意將stanrdsubmit : true去掉,因為預設它採用get方式提交。而get方式會覆蓋?後面帶的引數!

10.分頁工具欄上如何可以定製每頁顯示的記錄數?

11.查詢表單和我們擴充套件的分頁控制項每頁顯示條數不一致怎麼辦?

我們可以借助伺服器端的session區域物件儲存查詢表單加上pager*******的一些屬性,譬如cursor屬性指它的游標指標(當前記錄數),pagesize屬性是每頁的條數,store.gettotalcount是總記錄數,來達到要求!

ExtJS實戰 9 疑難雜症分析

在做專案的過程中,難免會遇到大大小小的問題 這是好事情,要不我們怎麼進步呢?那麼,我們就把一些共性的值得 的問題拿出來,一起分析下 1.js沒有錯誤,但卻一直報未結束的字串常量 這個問題很有趣,後來發現是編碼問題,在拷貝或寫入中文前,寫把js檔案的編碼方式改為utf 8 2.組合分頁中,hibern...

Hadoop疑難雜症

前天安裝了pig,本來寫了條pig latin,但一直卡在 17 05 07 17 47 07 info mapreduce.job running job job 1494150363568 0001跑不通,想著肯定是mapredcue自身有問題,於是開始了艱苦的檢錯之旅,從csdn到stackf...

Appium疑難雜症

坑之初體驗 1.session大於60秒沒接收到命令自動關閉 python desired caps 在啟動配置裡面加入newcommandtimeout引數 desired caps newcommandtimeout 200 但是注意cnpm預設在當前目錄安裝npm包。3.uiautomatio...