`

第一次使用jqgrid问题

阅读更多

从网上找了N个例子试用,每次都是在前台firebug中都已经可以看到传过来josn数据了,但是在jqgrid中就是没有数据。

 

今天把josn数据中的单引号,全部替换成双引号,数据终于显示出来了。

 

jqgrid居然不识别单引号!!!!!!

 

这个足足搞了三天,居然是因为这个。。。 郁闷!

 

 

<%@ page contentType="text/html;charset=utf-8"%>

<link rel="stylesheet" type="text/css" href="public/lib/jquery/css/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="public/lib/jquery/css/ui-lightness/jquery-ui-1.8.9.custom.css" />
<script src="public/lib/jquery/js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="public/lib/jquery/js/i18n/grid.locale-cn.js" type="text/javascript"></script>  
<script src="public/lib/jquery/js/jquery.jqGrid.min.js" type="text/javascript"></script>


<html>
<head>
<title>ALOES</title>

<script type="text/javascript">  
$(document).ready(function(){      
 jQuery("#jsonmap").jqGrid({       
	   url : 'eventAction.do?method=getEvents',
	   datatype : "json",
	   colNames:['EventID','CUID', 'Date', 'Severity','EventType','Description'],
		 colModel:[
			{name:'eventID',index:'eventID', width:60},
			{name:'cuid',index:'cuid', width:90},
			{name:'eventTime',index:'eventTime', width:100},
			{name:'severity',index:'severity', width:80, align:"right"},
			{name:'eventType',index:'eventType', width:80, align:"right"},		
			{name:'description',index:'description', width:80,align:"right"}
		 ],
     imgpath: '/public/images',    
     rowNum:10,  
     rowList:[10,20,30],  
     pager: "pjmap",  
     multiselect: false,    
     sortname: 'eventID',    
     viewrecords: true,    
     sortorder: "desc",    
     jsonReader: {    
      	root: "events",  
      	repeatitems : false    
     },    
     caption: "jqGrid test",     
     
		loadComplete:function(){ //根据内容的值 更换行的背景色
        var n = $('#gridTable').getGridParam('records');  //取得现在表格中显示的数据条数
        //alert(n);
     },  
     width:800,
     height: 220    
    }).navGrid('pjmap',  
                {view:true,edit:true,add:false,del:false},  
                {closeOnEscape:true}  
    );   
             
});   
 </script>  
</head>
<body>
 <table id="jsonmap"  ></table>
 <div id="pjmap"  ></div>
</body>
</html>

 

java后台代码如下:

随便写的测试代码,比较乱。。。

	public void getEvents(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
			StringBuffer str = new StringBuffer();
			//定义时间格式
			DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			try {
				List eventList = eventService.getEvents();
				str.append("{\"events\":[");
				if (eventList != null && eventList.size()> 0) {
					//for(Iterator iter = eventList.iterator();iter.hasNext();){
					for(int i=0;i<10;i++){	
						Event event = (Event)eventList.get(i);
						str.append("{\"eventID\":"+"\""+event.getEventID()+"\",");
						str.append("\"cuid\":"+"\""+event.getCuid()+"\",");
						str.append("\"eventTime\":"+"\""+format1.format(event.getEventTime())+"\",");
						str.append("\"severity\":"+"\""+event.getSeverity()+"\",");
						str.append("\"eventType\":"+"\""+event.getEventType()+"\",");
						String dec = stringFilter(event.getDescription());
						str.append("\"description\":"+"\""+dec+"\"}");
/*						if(iter.hasNext()){
							str.append(",");
						}*/
						if(i<9){
							str.append(",");
						}
					}
				}
				//str.substring(0,str.length()-1);
				str.append("],\"page\":1,\"rows\":10,\"total\":10}");
				
		} catch(Exception e){
			logger.error("获取告警事件发生异常!",e);
		}
		response.setContentType(" text/josn;charset=utf-8 ");
		PrintWriter out = response.getWriter();  
		out.println(str);  
		out.flush(); 
	}
 

 

接收到的josn数据:

{
"events":[
                {"eventID":"1298878203692","cuid":"HP-3.125","eventTime":"2011-02-28 15:30:03","severity":"3","eventType":"Probe","description":" Connection refused"},
                {"eventID":"1298878202225","cuid":"HP-3.125","eventTime":"2011-02-28 15:30:02","severity":"3","eventType":"Probe","description":"Connection refused"},
                {"eventID":"1298878201201","cuid":"HP-3.125","eventTime":"2011-02-28 15:30:01","severity":"3","eventType":"Probe","description":" Connection refused"},
                {"eventID":"1298877903783","cuid":"HP-3.125","eventTime":"2011-02-28 15:25:03","severity":"3","eventType":"Probe","description":"Connection refused"},
                {"eventID":"1298877902365","cuid":"HP-3.125","eventTime":"2011-02-28 15:25:02","severity":"3","eventType":"Probe","description":" Connection refused"},
               {"eventID":"1298877901326","cuid":"HP-3.125","eventTime":"2011-02-28 15:25:01","severity":"3","eventType":"Probe","description":"Connection refused"},
               {"eventID":"1298867776540","cuid":"HP-3.125","eventTime":"2011-02-28 12:36:16","severity":"3","eventType":"Probe","description":"No route to host"},
               {"eventID":"1298867776521","cuid":"Dell-31","eventTime":"2011-02-28 12:36:16","severity":"3","eventType":"Probe","description":"Connection timed out"},
               {"eventID":"1298867776463","cuid":"HP-3.125","eventTime":"2011-02-28 12:36:16","severity":"3","eventType":"Probe","description":"Connection timed out"},
               {"eventID":"1298867774532","cuid":"HPGroup","eventTime":"2011-02-28 12:36:14","severity":"3","eventType":"Probe","description":"Connection timed out"}],
"page":1,"rows":10,"total":10
}

 把这里边的双引号换成单引号数据就会无法显示!!!诡异。

 

分享到:
评论

相关推荐

    数据列表组件 jqGrid 二次封装

    // 动态加载第一页数据 loadPageData($("#userGrid"), 1, 10); ``` ### 5. 总结 通过对 jqGrid 进行二次封装,我们可以更高效地管理和维护表格组件,同时增强其灵活性。这不仅适用于 jqGrid,也可以应用于其他类似...

    jqGrid表格插件学习(一) 第一个Demo

    jqGrid默认支持分页,只需配置`rowNum`(每页显示的行数)、`pager`(分页容器ID)以及`loadonce`(是否一次性加载所有数据)等参数。 9. **排序与过滤**: jqGrid允许用户对列进行点击排序,并可以设置`sortname...

    jqgrid 的treegrid用法

    在 `loadonce: true` 情况下,数据会在第一次加载时被缓存。 ### 二、TreeGrid 配置选项 1. **treeReader** 这个选项定义了数据源中用于构建树的字段。例如: ```javascript treeReader: { parent_id_field: ...

    jqGrid在Net下的完美实现详解

    它在第一次加载数据时从服务器获取数据,之后使用缓存的数据,除非手动刷新。 #### 3. jqgrid的jsonReader jsonReader是jqGrid中用于解析JSON数据的关键配置选项。通过设置jsonReader属性,可以告诉jqGrid如何解析...

    jqGrid_API中文

    除了基本功能,jqGrid还有许多第三方扩展,如`jqGrid Footer`(添加表格底部行)、`jqGrid Subgrid`(子表格)和`jqGrid TreeGrid`(树形结构表格)等,这些扩展增强了jqGrid的功能和适用性。 ### 6. 版本更新与...

    jqgrid 简单学习笔记

    JqGrid文档:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jqgriddocs ...逻辑思路:第一次加载本年度的经营计划数据,加载完成后,将JqGrid设置成本地数据,这样分页、数据查询都成customs。只能修改本

    DELPHI做后台的网站源代码

    一、关于后端 1、完整DELPHI代码,使用最基本的CGI 2、稍加改动,可以用于...4、第一次启动请运行runserver.exe配置路径,以后直接运行abyssws.exe即可 5、默认使用8001端口 6、如果使用apache等服务器,请自行配置CGI

    二级表格的两种实现方式.rar

    4. 性能优化:对于大数据量,应考虑分页和懒加载技术,以避免一次性加载所有数据导致的性能问题。 总之,jqgrid和treetable是实现二级表格的有力工具,它们提供了灵活的配置选项和丰富的功能,能够满足不同场景的...

    使用jquery实现表格动态分页

    动态分页是指在用户滚动或点击分页按钮时,仅加载当前显示的数据,而不是一次性加载所有数据。这种做法提高了页面加载速度,减少了服务器压力,并优化了用户体验。 **一、jQuery分页插件的选择与使用** jQuery提供...

    jnasmartcardio-0.2.1.zip

    "jnasmartcardio"可能指的是一个与Java Native Access (JNA)相关的库,用于智能卡(Smart Card)的交互,而"0.2.1"则表示这是项目的第二个主要版本的第一次次要更新,通常意味着它可能包含一些新的功能、改进或错误...

    inspinia_admin-v2.0

    模板集成了许多第三方插件,如jqGrid用于数据表的分页和排序,Chart.js用于图表展示,iCheck用于复选框和单选按钮的美化等。这些插件的整合增强了系统的功能性和实用性。 7. **代码结构与可维护性**: V2.0版本...

    jquery的表格排序

    这样可以处理大量数据,避免一次性加载所有数据导致的性能问题。 在实现jQuery表格排序时,还需要注意以下几点: 1. 数据的结构:确保表格数据结构清晰,便于排序。 2. 国际化:如果需要支持多种语言,考虑使用...

    jeesite后台框架

    底层架构优化 Maven多项目依赖,模块及插件分项目,尽量松耦合,方便...Job作业调度,界面化在线管理,可新增,编辑、删除、暂停、恢复、运行一次等操作 在线查询在线人员,强踢在线账号。 代码生成工具操作简化及优化。

Global site tag (gtag.js) - Google Analytics