隨筆-204  評(píng)論-149  文章-0  trackbacks-0
          Struts2 + jQuery 實(shí)現(xiàn)完成請(qǐng)求,不做頁面跳轉(zhuǎn)的ajax效果

          需求要求實(shí)現(xiàn)用彈出層發(fā)送郵件。提交后層關(guān)閉,程序再服務(wù)器端響應(yīng)。

           

          JSON插件提供了一種名為json的ResultType,一旦為某個(gè)Action指定了一個(gè)類型為json的Result,則該Result無需映射到任何視圖資源。因?yàn)镴SON插件會(huì)負(fù)責(zé)將Action里的狀態(tài)信息序列化成JSON格式的數(shù)據(jù),并將該數(shù)據(jù)返回給客戶端頁面的JavaScript 。

           

          簡(jiǎn)單地說,JSON插件允許我們?cè)贘avaScript中異步調(diào)用Action,而且Action不再需要使用視圖資源來顯示該Action里的狀態(tài)信息,而是由JSON插件負(fù)責(zé)將Action里的狀態(tài)信息返回給調(diào)用頁面——通過這種方式,就可以完成Ajax交互。

          1、將struts2的json插件加入web工程的lib,jsonplugin的下載地址:http://code.google.com/p/jsonplugin/downloads/list

          2、struts.xml添加專為ajax使用的package 

           <package name="ajax" extends="json-default">
                  
          <action name="ajaxRequest"  class="org.david.struts2.HelloWorld">
                      
          <result type="json"></result>
                  
          </action>
          </package>        
                       
          3、在頁面中引入 jquery的js文件庫       

              <SCRIPT type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
           
          <SCRIPT type="text/javascript">
                      
          function clickButton()
                      
          {    
                          
          var url = 'ajaxRequest.action';
                          
          var params = {
                                  name:$('#name').attr('value'),
                                     contactEmail:$('#contactEmail').attr('value'),
                                     subject:$('#subject').attr('value'),
                                     content:$('#content').attr('value')                

                                 }; //通過id獲得輸入值
                           jQuery.post(url, params, callbackFun, 'json');

                

                         } //url:響應(yīng)aciton;params:傳入?yún)?shù);callbackFun:響應(yīng)完成后的回調(diào)函數(shù);
                      

                         function callbackFun(data)
                      
          {
                           alert("SUCCESS");
                          }

               
          </SCRIPT>

          4、action邏輯與普通的ation寫法無大區(qū)別。

               JSON將Action里的狀態(tài)信息序列化成JSON格式的數(shù)據(jù)

          posted on 2009-04-29 09:13 Frank_Fang 閱讀(2870) 評(píng)論(2)  編輯  收藏 所屬分類: SSH+JQuery+DWR

          評(píng)論:
          # re: Struts2 + jQuery 的簡(jiǎn)單例子使用 2013-05-25 10:43 | CSDCS
          CSCSDCSD  回復(fù)  更多評(píng)論
            
          # re: Struts2 + jQuery 的簡(jiǎn)單例子使用 2013-05-25 10:45 | CSDCS
          能問下 如何把a(bǔ)ction里的狀態(tài)信息序列化成JSON格式的數(shù)據(jù)嗎? action中具體的寫法怎么寫呢?。。  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 安塞县| 吉首市| 蒲江县| 陇南市| 连江县| 天全县| 墨玉县| 乐都县| 江西省| 桦川县| 修水县| 五原县| 麦盖提县| 贵港市| 隆回县| 乌拉特前旗| 饶平县| 平陆县| 金昌市| 凤台县| 玉屏| 庆元县| 阆中市| 调兵山市| 丰顺县| 桃园市| 左云县| 湖口县| 江门市| 赫章县| 凯里市| 宕昌县| 册亨县| 陆良县| 大英县| 大新县| 黄山市| 日照市| 涿州市| 和静县| 宣恩县|