隨筆-54  評論-0  文章-2  trackbacks-0

          今天主要實現(xiàn)的是員工信息的翻頁設(shè)計,用AJAX實現(xiàn)的,接著實現(xiàn)了員工信息的刪除實現(xiàn),總結(jié) 一天的知識,感覺jQuery確實是十分有用的一門技術(shù)。

          1.帶復(fù)雜條件的分頁:(AJAX分頁)

           

          直接把deptid屬性過濾加上會導(dǎo)致出現(xiàn):org.hibernate.QueryException:

          這時因為在 Employee 實體類中根本就沒有 deptid 屬性(并非指在 Employee 類中有該屬性,而是要在映射文件中映射該屬性).

          解決方法:

          EmployeeDao 中重寫 Page<T> findPage(final Page<T> page, final List<PropertyFilter> filters) 方法, 以解決表單頁 面的 deptid實體類的

          dept屬性的對應(yīng)問題

              注 意1.增強 for 循環(huán)時, 不能 remove 其元素

                  2.在 循環(huán)時刪除集合的元素, 會改變集合的 size 屬性

          2.AJAX分頁設(shè)計

           1.需要在EmployeeAction的對應(yīng)方法中,返回JSON數(shù)據(jù),在頁面上進行解析即可

           2.實現(xiàn)過程:

               1.點擊上一頁連接時,需要使用AJAX分頁:因為ajax分頁時,頁面沒有刷新,

           下一頁連接添加AJAX支持

          <script type=”text/javascript”>

          $(function(){

           $(“#nextpage”).click(function(){

           Var url=”${cp}/employee-list-2.do?pageNo=” + (parseInt($(“#pageNo”).val()) + 1);

          var args = $(“:hidden:not(#pageNo)”).serialize();

          $.getJSON(url,args,function(data){

          $(“.pagebanner”).html(“”+data.totalCount+”條記錄&nbsp;”);

          $(“#pageNo”).val(data.pageNo);

          });

          return false;

          });

          });

          </script>


          服務(wù)器端實現(xiàn)(employeeList2

          1.獲取請求參數(shù)

          String pageNoStr = request.getParameter(“pageNo”);

          2.從頁面獲取PropertyFilter集合

          3.調(diào)用servicefindPage方法,得到分頁數(shù)據(jù)Page對象

          4.page對象轉(zhuǎn)化為對應(yīng)的JSON數(shù)據(jù)格式。那么需要轉(zhuǎn)化為什么樣的JSON數(shù)據(jù)

          {totalCount:,totalPages:,pageNo:,employees:[{employeid,:loginName:,gender:,...}] }

           5.返回JSON數(shù)據(jù)

          response.setContentType(“text/javascript”);

          response.getWritter().print(jsonResult);

           

          3.員工信息 刪除功能

          1.AjAX刪除功能的實現(xiàn):

           1.若當(dāng)前頁已經(jīng)是最后一頁,且當(dāng)前記錄是當(dāng)前頁的最后一條記錄,則不能再請求當(dāng)前頁的信息, totalPages不能代表服務(wù)器端的總頁數(shù)

          2.Ajax 刪除要實現(xiàn)的功能:

          1. 彈出confirm(): 確 定要刪除嗎?

          2. 若點擊"", 則文本框或下拉框的值恢復(fù)為剛才的默認 值: 使用隱藏域.

          3. 若點擊"", 進行ajax 刪除

          4. 若 員工信息有外鍵關(guān)聯(lián)時,注 意:通過 ajaxError 函數(shù)進行提示彈出“不能刪除該記錄”

              關(guān)鍵代碼:

          4.查看員工的詳細信息

           這樣的功能實現(xiàn)在現(xiàn)在來說,已不難實現(xiàn),我實現(xiàn)了一下,不難!還用了下插件!顯示Employee 的頭像!

          posted on 2010-03-07 23:03 d66380022 閱讀(305) 評論(0)  編輯  收藏
          主站蜘蛛池模板: 攀枝花市| 九江市| 夏津县| 曲靖市| 邯郸市| 常山县| 囊谦县| 黄梅县| 延边| 桃江县| 赫章县| 马公市| 台前县| 德阳市| 象州县| 惠州市| 新泰市| 鲁甸县| 札达县| 平舆县| 陆河县| 公主岭市| 鹤壁市| 安平县| 兰西县| 蒲城县| 新乡县| 汉中市| 长岛县| 察雅县| 扎囊县| 建昌县| 巴中市| 昌平区| 天全县| 稻城县| 屏山县| 道真| 山西省| 富锦市| 洮南市|