加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flexigrid 的使用【添加错误处理功能】

发布时间:2020-12-15 04:26:00 所属栏目:百科 来源:网络整理
导读:flexigrid是一个很出色的页面表格展示插件,可以很方便的与系统后台通信,数据传输可以使用XML也可以使用JSON进行异步传输。 虽然flexigrid有很多优秀的功能,但是对于一个需要异常展示的功能却还不能满足,这样就需要我们开发人员对源码进行二次修改。 关于

flexigrid是一个很出色的页面表格展示插件,可以很方便的与系统后台通信,数据传输可以使用XML也可以使用JSON进行异步传输。

虽然flexigrid有很多优秀的功能,但是对于一个需要异常展示的功能却还不能满足,这样就需要我们开发人员对源码进行二次修改。

关于flexigrid的各种属性介绍,网上已经有很多这样的教程了,这里就不在进行介绍了,如果有不明白使用的地方可以随便上网搜索,这里只介绍开发过程中遇到的问题,及解决方法。

相信大家都遇到过这样的需求场景,前台页面使用flexigrid需要展示一些列表信息,并且这些列表信息是通过ajax异步请求后台action处理之后返回的结果。后台action处理之后返回json格式的串。

如果在后台处理过程中发生了异常,这样应该终止查询操作,并且将出错的信息返回到前台页面上,但是flexigrid没有提供一个自定义的错误输出功能。

处理方法是:首先在后台利用try catch捕获异常,然后将异常信息封装到json串中。代码如下:

public void writeJSONErrorMsg(String msg) {
	  JSONObject jsonObject = new JSONObject();
	  jsonObject.put("errorflag","-1");
	  jsonObject.put("errormsg","温馨提示:系统发生异常,具体错误信息为:"+msg+",请联系开发人员进行解决!");
	  renderHtml(jsonObject.toString());
  }

其中这里的errorflag和errormsg可以随便指定。

其次需要修改flexigrid.js源码,添加上解析这两个标签的代码,代码如下:

在addData : function(data)这段代码体中添加下面的逻辑:

if (p.dataType == 'xml') {
					p.errormsg = +$('rows errormsg',data).text()
				} else {
					p.errormsg = data.errormsg
				}
				var errorflag = "";
				if (p.dataType == 'xml') {
					errorflag = +$('rows errorflag',data).text()
				} else {
					errorflag = data.errorflag
				}
				if(errorflag=="-1"){
					$('.pReload',this.pDiv).removeClass('loading');
					this.loading = false;
					$('.pPageStat',this.pDiv).html(p.errormsg);
					return false
				}
在这里进行解析json中的这两个新增的节点,通过判断errorflag=-1再将页面上的“加载中..."样式给去掉,然后显示我们自己定义的错误信息,最后达到我们想要的要求。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读