隨筆 - 55  文章 - 187  trackbacks - 0
          <2016年1月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(12)

          隨筆分類

          隨筆檔案

          groovy

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          使用這個組合,感覺還是很方便靈活的。

          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、helloworld.jsp
                     <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')
                          }
          ;
                          jQuery.post(url, params, callbackFun, 'json');
                      }

                      
          function callbackFun(data)
                      
          {
                          alert(data.result);//對應HelloWorld類的message屬性
                              //獲取數據后渲染頁面
                      }

                  
          </SCRIPT>



                 
          <input id="name" type="text">
                  
          <input type="button" value="ok" onclick="javascript:clickButton();">

          4、HelloWorld.java
          package org.david.struts2;

          public class HelloWorld {

              
          private String name;
              
          private String result;

              
          // ajax請求參數賦值
              public void setName(String name) {
                  
          this.name = name;
              }


              
          // ajax返回結果
              public String getResult() {
                  
          return result;
              }


              
          public String execute() {
                  
          this.result = "Hello! " + this.name + ".";
                  
          return "success";
              }


          }
          posted on 2008-09-07 23:07 大衛 閱讀(41961) 評論(17)  編輯  收藏 所屬分類: Java 、JavaScript 、web

          FeedBack:
          # re: Struts2 + jQuery 實現ajax 2009-04-11 10:37 starnc
          jQuery.post(url, params, callbackFun, 'json');
          關于這條語句,我查jquery的api,只有三個參數啊,沒有‘json’,這個參數,請解釋一下,謝謝  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2009-08-31 21:49 ss
          是反回值  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax[未登錄] 2009-10-30 13:48 123
          老大。你的struts2標簽呢.  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2010-01-08 15:13 f
          為什么<package name="ajax" extends="json-default">
          的ACTION找不到啊  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2010-01-11 11:19 jazzCat
          請問,返回值data肯定是個HelloWorld對象么?
          能不能返回自定義的對象呢?  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2010-01-11 11:20 jazzCat
          請問,返回值data肯定是個HelloWorld對象么?
          能不能返回自定義的對象呢?或返回一個List?  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2010-01-14 10:00 #tao
          請問callbackFun(data)中的data 是什么啊,我用你的方法可以進入到action里面,可是后臺出錯了,能否大蝦這點下
          java.lang.NoSuchMethodError: com.opensymphony.xwork2.ActionContext.get(Ljava/lang/Object;)Ljava/lang/Object;
          at com.googlecode.jsonplugin.JSONResult.execute(JSONResult.java:157)
          at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
          at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
          at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
          at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
          at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
          at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
          at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
          at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
          at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
          at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
          at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
          at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
          at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
          at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
          at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
          at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
          at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
          at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
          at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
          at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)

            回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2010-01-15 14:46 gjhohj
          @#tao
          struts 2.0 用json 0.32
          struts 2.1 用 json 0.33-34  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax[未登錄] 2010-04-15 14:09 cc
          json在struts2中的配置只用下plugin嗎。jon-lib.jar這個包要不要一起加進去
          還有一個json.js這個要要加
            回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2010-08-18 11:23 葉新華
          樓主 說的很清晰. 贊一個  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2011-07-08 13:27 jj
          干凈明了
            回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2011-07-25 11:17 guanlin218
          為什么我配置了。一直提示我ajaxRequest.action 這個找不到。  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax[未登錄] 2012-06-07 18:10 abc
          @starnc
          是不是隨便哪里copy一段來的????  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax[未登錄] 2012-06-07 18:11 abc
          .....  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax[未登錄] 2012-06-07 18:11 abc
          @abc
          adsaf  回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax 2012-08-25 11:46 妞妞
          不用struts的標簽也是可以的
            回復  更多評論
            
          # re: Struts2 + jQuery 實現ajax[未登錄] 2016-01-16 20:29 1
          @cc
          1  回復  更多評論
            
          主站蜘蛛池模板: 西丰县| 南涧| 虞城县| 古浪县| 城市| 广灵县| 合作市| 徐水县| 体育| 江达县| 开江县| 盘山县| 邛崃市| 搜索| 柳江县| 伊春市| 思南县| 西吉县| 米易县| 广南县| 博客| 额敏县| 辽中县| 沐川县| 淮滨县| 江西省| 盐津县| 方城县| 逊克县| 城市| 安乡县| 会昌县| 永吉县| 长顺县| 卢氏县| 九江市| 平遥县| 辰溪县| 左权县| 南京市| 乐亭县|