隨筆-31  評論-7  文章-0  trackbacks-0

               最近搞的一個通訊錄想要加一個Ajax的自動完成功能,看起來功能雖小,可給用戶的體驗會改進不少。在一個介紹了幾十種java的Ajax框架的網頁里面,我找到了AjaxTags這個小東西,開始了我的第一次Ajax之旅。

               從AjaxTags的官方網站上面http://ajaxtags.sourceforge.net/可以下載到其最新的版本,目前是AjaxTags1.3順便下載了一個官方的小例子看了看,確實很好阿,例子中使用Ajax完成了11種功能,然而我需要的是自動完成(autocomplete)部分的代碼,所以重點研究這一部分

                jsp頁面中,首先當然是要添加AjaxTags的標簽支持,需要如下語句

          Code

               然后在頁面中加入如下的標簽

           

          Code

              在官方的例子中使用的是Servlet來完成Ajax,而對于使用struts就不適用了,后面說這個問題。

              在 autocomplete.view對應的Servlet類中需要建立xml來供頁面調取,代碼如下

          Code
              其實還是很簡單的,接下來看CarService的代碼吧,重點其實只有一段,然后在下面顯示出自動提示,于是可以把剛才的那個ajax標簽修改如下
          Code

          例子看完了,開始實際操作吧,在我的頁面中,需要通過一個名為"name"的文本框輸入要查詢的人的姓名

          Code

           接下來是我的Action,在寫Action的時候,我以為只需要把原來Servlet繼承的BaseAjaxServlet改為BaseAjaxAction就可以了,可后來才發現,jar包中根本就沒有BaseAjaxAction這個類,無語,去官方網站上看了后才知道,在1.2更新到1.3的時候,把對Struts的支持去掉了,如果想支持Struts的話需要建立自己的BaseAjaxAction

          (Struts removed, to use it create your own BaseAjaxAction.java and implement BaseAjaxXmlAction then just call xml = AjaxActionHelper.invoke(this, request, response);)

          下載了一份AjaxTags的源碼來看,原來AjaxActionHelper.invoke();這個方法需要調用Action中的getXmlContent方法來完成xml的寫入,那就好說了,代碼如下:

          Code
          剩下工作就是在struts-config.xml中配置對應的action,在spring中配置對應的bean就ok拉

           



          --------------------------
          09博客園紀念T恤
          新聞:Office 2010雙拳出擊加強反盜版
          網站導航: 博客園首頁  個人主頁  新聞  社區  博問  閃存  找找看
          文章來源:http://www.cnblogs.com/xiaoao808/archive/2008/09/22/1295661.html
          posted on 2008-09-22 09:42 破名超難起 閱讀(209) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 黄骅市| 洱源县| 宣恩县| 盐池县| 桂林市| 安阳县| 琼中| 金门县| 珠海市| 麻阳| 卢氏县| 仁化县| 鹤庆县| 普安县| 镇远县| 布尔津县| 福海县| 朝阳区| 永宁县| 普兰县| 随州市| 淳安县| 循化| 桃园市| 富源县| 资兴市| 白山市| 琼结县| 茌平县| 融水| 温州市| 弥勒县| 延边| 嵊泗县| 浏阳市| 隆林| 务川| 呼图壁县| 万荣县| 繁峙县| 家居|