学写一个jqgrid demo 现在的问题是json对象都传到前台了但是再grid里面却显示不出来。html如下<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
  <head>  
    <title>test</title>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    <link rel="stylesheet" type="text/css" media="screen" href="themes/basic/grid.css" />  
    <link rel="stylesheet" type="text/css" media="screen" href="themes/jqModal.css" />  
    <script src="js/jqGrid/jquery.js" type="text/javascript"></script>  
    <script src="js/jqGrid/jquery.jqGrid.js" type="text/javascript"></script>  
    <script src="js/jqGrid/js/jqModal.js" type="text/javascript"></script>  
    <script src="js/jqGrid/js/jqDnR.js" type="text/javascript"></script>      <script type="text/javascript">
   var lastsel2=0;   
   $(function(){   
       $('#grid').jqGrid({   
          height:200,   
           url:'http://localhost:8080/jqgrid/test', //映射后台servlet  
           datatype: 'json',   
           mtype: 'POST',   
           colNames:['ID','用户名','密码','真实姓名'],   
           colModel :[   
           {   
               name:'id',   
               index:'id',   
               width:50   
           },   
           {   
               name:'UserName',   
               index:'UserName',   
               editable:true,   
               editrules:{   
                   required:true  
               }   
           },   
           {   
               name:'PassWord',   
               index:'PassWord',   
               editable:true,   
               edittype:'password',   
                 
               editoptions:{   
                   size:20   
               },   
               editrules:{   
                   edithidden:true  
               }   
           },   
           {   
               name:'LinkMan',   
               index:'LinkMan',   
               editable:true,   
               editrules:{   
                   required:true  
               }   
           }   
      ],   
           pager: 'nav',   
           rowNum:10,   
           rowList:[10,20,30],   
           sortname: 'MemberID',   
           sortorder: "desc",   
           viewrecords: true,   
           imgpath: 'js/jqGrid/themes/basic/images',   
           caption: '用户管理',   
           //        multikey:'ctrlKey',   
           multiselect:true,   
              
           editurl:''  
     
       });   
       //定义按键   
       $('#grid').navGrid('#nav',{   
           refresh: true,   
           edit: true,   
           add: true,   
           del: true,   
           search: true  
       });   
     
    
   });  
   </script>
  </head>  
  <body>  
   <table id="grid" class="scroll"></table>  
   <div id="nav" class="scroll"></div>  
  </body>  
</html>  
后台处理数据的servlet import java.io.IOException;
import java.util.HashMap;import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;import org.json.JSONArray;public class TestServlet implements Servlet { @Override
public void destroy() {
// TODO Auto-generated method stub } @Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
} @Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
} @Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub } @Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
// TODO Auto-generated method stub
HashMap map = new HashMap<String,Object>();
String id = "123";
String userName="aaa";
String password = "123123";
String LinkMan = "aaa";
map.put("id", id);
map.put("UserName", userName);
map.put("PassWord",password);
map.put("LinkMan", LinkMan);

JSONArray jsonArray = new JSONArray();
jsonArray.put(map);
ServletResponse response =arg1;
response.setContentType("text/json;charset=utf-8");
response.getWriter().print(jsonArray);
}

}直接请求servlet是能得到数据的。请问我是不是还有什么地方需要写?

解决方案 »

  1.   

    我帖子是不是发错地方啦,怎么问了好几次jqgrid的问题都没人理呢???
      

  2.   

    解决了,原来是传给前台json数据格式和jar包用错了。
      

  3.   

    你用jqGrid的时候使用它的中文包 了吗?
      

  4.   

     能不能把你这个例子发给我邮箱里([email protected])?我这边也是不显示,不知道为什么,json数据是正常的。
      

  5.   

    我的也出不来啊,我的是.Net的郁闷
      

  6.   

    你把你查询后拼接出来的json格式的字符串贴上来看看。
      

  7.   

    如果看到我的留言 给我也发一份吧 谢谢你  [email protected]
      

  8.   

    郁闷哦,json 数据能取到,但是在界面上就不显示。
    { total:1, page:1, records:3,
    rows:[{ id: 1, cell:[ 'joyopod', '第一级父节点 level=0', 0, null, false, false ] },{ id: 2, cell:[ '第一子节点', 'level=1', 1, 1, true, true ] },{ id: 3, cell:[ '第二子节点', 'level=1', 1, 1, true, true ] },]
     }