posts - 176, comments - 240, trackbacks - 0, articles - 7

          AjaxAnywhere

          Posted on 2005-11-23 21:53 canonical 閱讀(856) 評論(0)  編輯  收藏 所屬分類: 軟件開發
              http://ajaxanywhere.sourceforge.net/index.html
              AjaxAnywhere利用JSP標簽把Web頁面標注出可以動態裝載的區域, 可以直接把任何JSP頁面轉化為AJAX感知組件而不需要進行復雜的Javascript編碼.
              <script> ajaxAnywhere.getZonesToLoad = function(url){ return "countriesList"; } </script>
              <select size="10" name="language" onchange="ajaxAnywhere.submitAJAX();">
                  <%@ include file="/locales_options_lang.jsp"%>
              </select>

              <aa:zone name="countriesList">

                  <select size="10" name="country" >
                      <%@ include file="/locales_options_countries.jsp"%>
                  </select>

              </aa:zone>
             
             AjaxAnywhere的這種做法與witrix平臺中的ajax方案有些類似, 例如
             
              <select onchange="new js.Ajax().setObjectEvent('changeLanguage').setParam(this).setTplPart('countriesList').replaceChildren('countriesList')"> ...</select>

              <div id="countriesList">
             <tpl:define id="countriesList">
                 ....
             </tpl:define>
              </div>

              但是在AjaxAnywhere的方案中, 后臺jsp頁面總是要完整運行的, 它通過servlet filter機制緩存所有的jsp輸出, 而aa:zone標簽則把自己的bodyContent運行后的結果保存在request的attribute中, 最后servlet filter根據調用參數決定返回那些zone的運行結果. 而在witrix平臺中的方案中, 只有指定的tplPart才會被運行, 其他部分完全被忽略. 這種差異的根源在于Jsp Tag技術本身的局限性. Jsp Tag的設計是非常原始的, 基本上就是在字符串層面上進行操作, 在運行的時候缺乏對頁面結構強有力的控制. 實際上, 在我看來, 所有基于jsp tag的技術都受制于jsp tag的先天的局限性, 很難有深度的發展, 包括JSF技術.
           
          主站蜘蛛池模板: 通州市| 阳高县| 宁波市| 齐齐哈尔市| 洪洞县| 河北省| 仙桃市| 三亚市| 宁国市| 德保县| 斗六市| 永定县| 高台县| 顺义区| 安泽县| 五台县| 四子王旗| 衢州市| 兴城市| 永吉县| 英超| 永仁县| 任丘市| 山西省| 武山县| 永年县| 凤翔县| 兴化市| 澄城县| 射阳县| 美姑县| 敖汉旗| 沅陵县| 宣化县| 济源市| 绿春县| 沿河| 绍兴市| 浮梁县| 华宁县| 隆子县|