Strsuts2 Json jQuery 实现局部Ajax

第一次用到这些东西、很无奈!o(�幡洇�)o !!!还是终于把它暂时完成了:

在Struts2中使用json插件需要如下包:

commons-beanutils-1.7.0.jar

commons-collections-3.2.jar

commons-lang-2.3.jar

commons-logging-1.1.1.jar

ezmorph-1.0.3.jar      (不这个会去一非常怪错误。不相信你可以试试)  我认为应该无法实现java对象与json对象之间转化.

json-lib-2.3-jdk15.jar

struts2-json-plugin-2.1.8.1.jar

struts.xml配置文件:

  
  
  
  
  1. <package name="jsonajax" extends="json-default">   
  2.     <!-- 会议记录action -->   
  3.     <action name="mgrmeet" class="mgrAction">   
  4.         <result name="success" type="json">   
  5.             <param name="root">result</param>   
  6.         </result>   
  7.     </action>       
  8. </package>   
action代码:

  
  
  
  
  1. /**  
  2.  * 会议记录查询  
  3.  * 创建者:古道西风  
  4.  * 时间:2011-04-11  
  5.  */     
  6.    
  7. @SuppressWarnings("all")   
  8. public class MeetingMgrAction extends ActionSupport implements ServletRequestAware, ServletResponseAware {   
  9.    
  10.     /**  
  11.      * Aware方式  
  12.      */   
  13.     private HttpServletRequest request;    
  14.     private HttpServletResponse response;   
  15.     public void setServletRequest(HttpServletRequest request) {   
  16.         this.request = request;   
  17.     }   
  18.     public void setServletResponse(HttpServletResponse response) {   
  19.         this.response = response;   
  20.     }    
  21.    
  22.     /**  
  23.      * 注入会议记录业务层  
  24.      */   
  25.     private IMeetingMgr mgrService;   
  26.     public void setMgrService(IMeetingMgr mgrService) {   
  27.         this.mgrService = mgrService;   
  28.     }   
  29.    
  30.     /*  
  31.      * 返回页面json格式字符串属性跟Struts.xml中的  
  32.             * 配置要对应  
  33.      */   
  34.     private String result;     
  35.     public String getResult() {   
  36.         return result;   
  37.     }   
  38.     public void setResult(String result) {   
  39.         this.result = result;   
  40.     }   
  41.    
  42.        
  43.    
  44.     /*  
  45.      * 查询会议记录方法  
  46.      */   
  47.     public String selectAll(){   
  48.         String meet = request.getParameter("meetId");   
  49.           
  50.         List jsonList = new ArrayList();   
  51.            
  52.         List list = new ArrayList();   
  53.         //如果会议编号不为空   
  54.         if(null !=meet && !"".equals(meet)){   
  55.             //创建获取星期日期对象   
  56.             TimeTake time = new TimeTake();   
  57.             //调用查询方法   
  58.             list = mgrService.getMgrByTime(Long.valueOf(meet), time.getTime());     
  59.         }   
  60.         //遍历list集合   
  61.         for (int i = 0; i < list.size(); i++) {   
  62.             //获取集合中对象信息   
  63.             Tbmeetmgr t = (Tbmeetmgr)list.get(i);   
  64.             /*转换json的javaBean由于直接用Hibernate生成的   
  65.                *javaBean中有Set集合属性会让json格式转换是  
  66.                *出现死循环状况!所以自己写了个javaBean基本上跟生成  
  67.                *的没什么两样、就是没有set集合跟对象属性  
  68.                */   
  69.             TbmToJson tbm = new TbmToJson();   
  70.             tbm.setZhuti(t.getZhuti());   
  71.             tbm.setChangetime(t.getChangetime());   
  72.             tbm.setCreatetime(t.getCreatetime());   
  73.             tbm.setEndtime(t.getEndtime());   
  74.             tbm.setId(t.getId());   
  75.             tbm.setMeetcode(t.getMeetcode());   
  76.             tbm.setRemark(t.getRemark());   
  77.             tbm.setStarttime(t.getStarttime());   
  78.             tbm.setStatus(t.getStatus());   
  79.             tbm.setStoptime(t.getStoptime());   
  80.             tbm.setYiti(t.getYiti());   
  81.             jsonList.add(tbm);   
  82.         }   
  83.         //将json格式转换成字符串、并赋值给result属性   
  84.         JSONArray json = JSONArray.fromObject(jsonList);   
  85.         result = json.toString();   
  86.         System.out.println(result);   
  87.         return "success";   
  88.     }   

jsp页面——JS部分:

  
  
  
  
  1. function Meetinghh(){   
  2.                var id = $("#hiddenid").val();   
  3.                alert(id);   
  4.                var urlx = "<%=path %>/platform/mgrmeet!selectAll.action?meetId=" + id ;   
  5.                alert(urlx);////dataType:"json", //数据格式:JSON      
  6.                $.ajax({      
  7.                           type: "POST"//用POST方式传输      
  8.                           dataType : "json",   
  9.                           url:urlx,      //目标地址      
  10.                           async:false//作用是防止在ajax成功调用之前就调用$("#Pagination").pagination,这个时候数据个数还没有初始化       
  11.                           error : function(e) {   
  12.                             alert("error");   
  13.                           },   
  14.                           success:function(jsonData) {   
  15.                               alert('success');   
  16.                               var json = eval("("+jsonData+")");    
  17.                               alert(json);   
  18.                               for(var key in json){   
  19.                                 alert(key);   
  20.                                 var str = "<tr>" +   
  21.                                 "<td>"+json[key].id+"</td>" +   
  22.                                 "<td>"+json[key].zhuti+"</td>" +   
  23.                                 "<td>"+json[key].starttime+"</td>" +   
  24.                                 "<td>"+json[key].endtime+"</td>" +   
  25.                                 "<td>"+json[key].stoptime+"</td>" +   
  26.                                 "</tr>";    
  27.                                 $('#biaoTable').append(str);    
  28.                               }   
  29.                                  
  30.                           }      
  31.                });    
  32.    
  33.         }   

jsp页面——Div部分:

 

  
  
  
  
  1. <div id="result">   
  2.             <input type="button" value="ddd"  onclick="Meetinghh()"/>   
  3.              <table id="biaoTable">   
  4.                 <tr>   
  5.                     <td>编号</td>   
  6.                     <td>主题</td>   
  7.                     <td>起始时间</td>   
  8.                     <td>结束时间</td>   
  9.                     <td>日期</td>   
  10.                 </tr>   
  11.              </table>   
  12. </div>  

在这次开发过程中——不断的学习不断的错误~~~!o(�幡洇�)o 唉接二连三的错误!!!

非常打击人!  搞开发不单是需要技术、还需要耐心跟冷静!!!

其实这个问题——我只用花几分钟就能解决的、谁知道干了一天还没结果!!!

你可能感兴趣的:(jquery,Web,json,Ajax,struts2)