posts - 325,  comments - 25,  trackbacks - 0
          1.classpath 中加入jsonplugin.jar
          2.jsp
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml" >
          <head>
              <title>JSON Plugin</title>
              <script type="text/javascript">   
              var bXmlHttpSupport = (typeof XMLHttpRequest != "undefined" || window.ActiveXObject);
              
              if (typeof XMLHttpRequest == "undefined" && window.ActiveXObject) {
                  function XMLHttpRequest() {
                      var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
                                           "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
                                           "Microsoft.XMLHTTP"];
                                      
                      for (var i=0; i < arrSignatures.length; i++) {
                          try {       
                              var oRequest = new ActiveXObject(arrSignatures[i]);           
                              return oRequest;       
                          } catch (oError) { /*ignore*/ }
                      }         
             
                      throw new Error("MSXML is not installed on your system.");              
                  }
              }   
                     
              function retrieveBook() {       
                  if(bXmlHttpSupport) {
                      var sUrl = 'JsonPlugin.action';
                      var oRequest = new XMLHttpRequest();
                      oRequest.onreadystatechange = function() {
                          if(oRequest.readyState == 4) {                   
                              var oBook = eval('(' + oRequest.responseText + ')');
                              var bookHolder = document.getElementById('bookHolder');
                              var sBook = '<p><b>ISBN: </b>' + oBook.ISBN + '</p>';
                              sBook += ('<p><b>Title: </b>' + oBook.title + '</p>');
                              sBook += ('<p><b>Price: </b>$' + oBook.price + '</p>');
                              sBook += ('<b><i>Comments: </i></b><hr/>');
                              for(i = 0; i < oBook.comments.length; i++) {
                                  sBook += ('<p><b>#' + (i + 1) + ' </b>' + oBook.comments[i] + '</p>');
                              }
                              bookHolder.innerHTML = sBook;
                          }
                      };
                      oRequest.open('POST', sUrl);
                      oRequest.send(null);
                  }
              }
              </script>
          </head>
          <body>
              <input type="button" value="Retrieve Book" onclick="retrieveBook()" />
              <div id="bookHolder"></div>
          </body>
          </html>
          3 .Action

          package com.test.action;

          import java.util.ArrayList;
          import java.util.List;

          import com.googlecode.jsonplugin.annotations.JSON;
          import com.opensymphony.xwork2.ActionSupport;

          public class JsonPluginAction extends ActionSupport {
              private static final long serialVersionUID = -6784977600668791997L;
             
              private int bookId;
              private String title;
              private double price;
              private List<String> comments;   
              private transient String secret1;
              private String secret2;

              @JSON(name="ISBN")
              public int getBookId() {
                  return bookId;
              }

              public void setBookId(int bookId) {
                  this.bookId = bookId;
              }

              public List<String> getComments() {
                  return comments;
              }

              public void setComments(List<String> comments) {
                  this.comments = comments;
              }

              public double getPrice() {
                  return price;
              }

              public void setPrice(double price) {
                  this.price = price;
              }

              public String getTitle() {
                  return title;
              }
             
              public void setTitle(String title) {
                  this.title = title;
              }

              @Override
              public String execute() throws Exception {
                  bookId = 15645912;
                  title = "Max On Java";
                  price = 0.9999d;
                  comments = new ArrayList<String>(3);
                  comments.add("It's no bad!");
                  comments.add("WOW!");
                  comments.add("No comment!");
                  secret1 = "You can't see me!";
                  secret2 = "I am invisible!";
                  return SUCCESS;
              }
          }

          4.struts.xml

          <!DOCTYPE struts PUBLIC
                  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
                  "http://struts.apache.org/dtds/struts-2.0.dtd">

           <struts>   
              <package name="Struts2_AJAX_DEMO" extends="json-default">
                  <action name="JsonPlugin" class="com.test.action.JsonPluginAction">
                      <result type="json" />
                  </action>           
              </package>
          </struts>

          posted on 2008-05-08 11:08 長春語林科技 閱讀(624) 評論(0)  編輯  收藏 所屬分類: ajax

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


          網站導航:
           
          <2008年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

           

          長春語林科技歡迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 曲沃县| 卢湾区| 洛南县| 沾益县| 海城市| 宝清县| 冀州市| 沂水县| 义乌市| 明水县| 专栏| 武山县| 永川市| 武城县| 新营市| 五莲县| 道真| 南华县| 宿州市| 安庆市| 丽江市| 伊宁县| 太保市| 寿光市| 项城市| 大理市| 洪雅县| 建水县| 中宁县| 同德县| 洛川县| 衡阳市| 阳江市| 金华市| 高尔夫| 琼海市| 古田县| 垣曲县| 大新县| 乐清市| 农安县|