隨筆 - 55  文章 - 187  trackbacks - 0
          <2008年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          留言簿(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)  編輯  收藏 所屬分類: JavaJavaScriptweb

          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  回復  更多評論
            
          主站蜘蛛池模板: 个旧市| 泰来县| 奈曼旗| 芦溪县| 大关县| 邛崃市| 天津市| 广宁县| 河池市| 黄梅县| 襄城县| 平山县| 韶山市| 如皋市| 施甸县| 平潭县| 麟游县| 巴彦淖尔市| 碌曲县| 房产| 佳木斯市| 小金县| 宜兰县| 大城县| 郧西县| 雷州市| 永宁县| 南投市| 敖汉旗| 岱山县| 克东县| 鸡西市| 象山县| 兴城市| 长春市| 哈巴河县| 湄潭县| 伊川县| 黎城县| 革吉县| 金山区|