`
lee1177
  • 浏览: 118669 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jquery+struts2传值及异常处理

 
阅读更多

最近项目使用jquery+strtus2的交互方式。之前对于传值和异常处理没有统一的规范,现在整理了一下感觉清晰很多,记录下来。

首先是ACTION方法

 /**
  * 获取角色列表JSON
  * @Methods Name getRoleListJson
  * @Create In May 26, 2011 By lee void
  */
 public void getRoleListJson(){
  String json = null;
  try{
   HttpServletRequest request = super.getRequest();
   QueryParam queryParam = HttpUtils.requestParam2QueryParam(request);
   json = roleService.getRoleListJson(queryParam);
   log.debug("RoleAction_getRoleListJson:write:"+json);
  }catch(Exception e){
   json = JsonUtils.errorJson(e.toString());
   e.printStackTrace();
  }
  super.writeToResponse(json);
 }

 

回写部分在Action基类做了一个writeToResponse方法的封装,避免重复代码

异常部分用自定义的JsonUtils.errorJson方法自动组装

这里返回total和rows是为了在给grid列表或下拉数据提供数据时避免解析异常准备的。

/**
  * AJAX请求在ACTION层异常时返回的数据
  * @Methods Name errorJson
  * @Create In Aug 5, 2011 By lee
  * @param error
  * @return String
  */
 public static String errorJson(String error){
   return "{\"total\":0,\"rows\"[],\"success\":false,\"error\":\""+error+"\"}";
 }

 

jquery部分因为使用了easyui中的dataGrid和form,所以有些返回需要加工,统一增加了异常处理的js代码.

 

首先对传值类型格式化,在共用js中设置jquery的AJAX请求

/**
 *全局AJAX请求设置
 */
 $.ajaxSetup({
  type:'post',
  dataType:'json'
 });

 

这里看似用处不大,但在刚开始使用jquery的AJAX请求时经常没有声明dataType搞的各种返回值解析,代码处理相当混乱,统一之后风格一致好了一些。

 

然后是各种请求的异常处理,同样在共用js中封装了个异常处理的小方法(这里使用了easyui的messager)

//检查错误并弹出提示
function dc_checkError(data){
 if(data.success==false){
  $.messager.alert('错误',data.error,'error');
  return;
 }
}

 

把异常处理加到各种请求中

1.普通AJAX

$.ajax({
     url : webContext + '/roleAction_saveRole.action',
     data :{
             xxx:xxx

     },
     success : function(data, textStatus) {
           dc_checkError(data);
           //成功逻辑     
     },
     error : function(xhr, ts, et) {
           //失败逻辑
     }
});

 

2.form提交

$('#xxxForm').form('submit', {
	url:webContext + '/xxxAction_save.action?',
	success:function(data){
		dc_checkError(data);
		//成功逻辑
	}
});

 3.dataGrid数据装载

$('#dataGrid').datagrid({
		title:'xxx',
		width:800,
		height:500,
		pageSize:ps,
		fit:true,
		rownumbers:true,
		url:webContext + '/xxxAction_getGridJson.action',
		columns:[[
			{field:'id',title:'ID',checkbox:true,width:20},
			{field:'name',title:'名称',width:100}
		]],
		pagination:true,
		onLoadSuccess:function(data){
			dc_checkError(data);
		}
});

 

 

 

 

分享到:
评论

相关推荐

    Struts 1.3 +JQuery+Json Post传值

    Struts 1.3 +JQuery+Json Post传值 由于网上关于这个的资料很少,现整理出来,方便大家学习. 关于Json的优势,网上的评价都很高,对于处理复杂的数据相对于处理xml来说要好很多,更多关于这方面的知识读者可以到网上...

    Jquery+struts2上传图片,制作进度条,以及Jquery+Json+Struts交互等示例

    Jquery+struts2上传图片,制作进度条等示例,还有Jquery+Json+Struts实现Ajax技术,还有图形处理技术等,虽然很少,但都有重点突出,由于我也是学习,所以代码不是很简洁,对想学习交流的朋友非常合适

    json+jquery+struts2+hibernate+spring 实现的小型bbs系统,这个提供包

    json+jquery+struts2+hibernate+spring 实现的小型bbs系统,这个提供包 ,很不错的下载后,好好徐希一下吧

    json+jquery+struts2+ajax

    struts2 json jquery ajax实现用户登陆及业面跳转

    jquery+struts2实现文件上传

    在本文中,我们将深入探讨如何使用jQuery和Struts2框架实现文件上传功能。这是一个常见的需求,在Web应用中,用户可能需要上传图片、文档等文件。jQuery是一个轻量级的JavaScript库,提供了丰富的交互效果和API,而...

    Struts2+Jquery+Ajax

    总的来说,Struts2+Jquery+Ajax的组合使得开发者能够构建出交互性强、响应速度快的Web应用。通过理解MVC模式、熟练掌握Struts2的配置和Action处理、灵活运用Jquery和Ajax,可以大大提高开发效率,提升用户使用体验。...

    jQuery+json+struts2 开发备忘录(一)

    在本篇“jQuery+json+struts2 开发备忘录(一)”中,我们将探讨如何使用这三种技术来构建高效且用户友好的Web应用程序。jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。JSON...

    jquery+struts2+upload

    总的来说,"jquery+struts2+upload"的组合是一个经典的Web开发实践,它展示了如何利用jQuery进行前端交互,通过Struts2处理后端业务,并实现文件上传这一常见的功能需求。通过理解和实践这个例子,开发者可以更好地...

    easyUi+jquery+common-file-upload +struts2带进度条的文件上传DEMO

    基于eclipse + easyUi1.2.6+common-fileupload + struts2实现带进度条的文件上传DEMO,具体效果跟思路可见我的博客:http://blog.csdn.net/jun55xiu/article/details/22042279

    省市联动jquery+struts2

    标题中的“省市联动jQuery+Struts2”是指在Web开发中使用jQuery库和Struts2框架实现的一个功能,即当用户选择一个省份时,相关的城市会动态地在下拉列表中加载出来,提供用户选择。这个功能在很多需要收集用户地址...

    jQuery+struts2翻页实现

    在这个“jQuery+struts2翻页实现”的项目中,我们将深入探讨如何结合这两个工具来实现动态的分页功能。 首先,jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画效果和Ajax交互。在“jqueryPage....

    jcrop + jquery+struts2 图片裁剪

    总的来说,"jcrop + jquery + struts2 图片裁剪"的组合提供了一个完整的图片裁剪解决方案,涵盖了从用户界面到服务器端处理的全过程。通过学习和掌握这三个技术,开发者可以构建出高效且用户体验良好的图片裁剪功能...

    Jquery+Struts2+JSON处理

    在jQuery的AJAX请求中,可以使用`error`回调来捕获和处理异常: ```javascript error: function(xhr, status, error) { alert('An error occurred: ' + error); } ``` 5. **跨域请求(CORS)** 如果你的前端和...

    spring+hibernate+jpa+struts1+struts2+springmvc+jquery+freemaker 学习笔记 案例.rar

    spring+hibernate+jpa+struts1+struts2+springmvc+jquery+freemaker 学习笔记 Compass将lucene、Spring、Hibernate三者结合

    jquery+struts2实现异步刷新锁需要的包

    标题中的"jquery+struts2实现异步刷新锁需要的包"表明我们需要的是一套特定的依赖包,用于整合jQuery和Struts2来实现在服务器端控制异步更新的逻辑。这通常涉及到以下组件: 1. **jQuery库**:这是JavaScript的一个...

    jQuery+Struts+Ajax无刷新分页

    **jQuery+Struts+Ajax无...总结,这个"jQuery+Struts2+Ajax无刷新分页"项目展示了如何结合现代前端技术和后端框架实现高效、友好的Web应用。通过学习和实践,开发者可以更好地理解和掌握这些技术在实际项目中的应用。

    jquery + struts1 + ajax学习例子

    总的来说,"jquery + struts1 + ajax学习例子"是一个很好的教学资源,它涵盖了前端交互、后台处理和异步通信的关键技术。通过深入研究这个例子,开发者可以更熟练地掌握这些技能,并将其应用于实际项目中,提升Web...

    JEECMS源码(hibernate3+struts2+spring2+freemarker +jquery +json等技术)

    JEECMS使用目前java主流技术架构:hibernate3+struts2+spring2+freemarker。AJAX使用jquery和json实现。视图层并没有使用传统的JSP技术,而是使用更为专业、灵活、高效freemarker。 数据库使用MYSQL,并可支持orcale...

    Jquery+Struts2笔记

    3. **动态表单与验证**:Struts2的动态表单配合jQuery的事件处理,可以实现动态添加、删除表单元素。同时,Struts2的Validator框架可以进行前端验证,配合jQuery的错误提示,增强用户体验。 4. **Ajax局部刷新**:...

    Spring+Struts2+JQuery实现简单的登录功能

    在IT行业中,构建Web应用程序是常见的任务之一,而Spring、Struts2和JQuery是三个常用的框架和技术,它们各自在不同的层面上发挥作用,共同助力于高效、稳定的开发。本项目"Spring+Struts2+JQuery实现简单的登录功能...

Global site tag (gtag.js) - Google Analytics