在做spring MVC开发的时候,我需要在页面的JavaScript中将js对象拼接成后台spring Controller需要接收的Javabean对象。示例如下:
/** * 更新团队资源 * * @param response * @param teamResource */ @RequestMapping(value = "/updateTeamResource", method = RequestMethod.POST) public void updateTeamResource(HttpServletResponse response, @RequestBody TeamResource teamResource) { try { TeamResource updatedResource = teamResourceService.updateTeamResource(teamResource); processSuccessDataForResponse(response, updatedResource); } catch (Exception e) { processExceptionForResponse(response, e, e.getMessage()); } }
TeamResource { /** * 资源id */ private long resourceId; /** * 资源名称 */ private String resourceName; /** * 资源类型id */ private int resourceTypeId; /** * 资源配置 * * <pre> * 当为mysql资源时 ,{"host":"10.1.1.1","port":"90","user":"crm","passwd":"123","db":"wdyx","isfenku":"false"} * 为 ftp资源时 {"ip":"10.11","port":"80","user":"12","passwd":"13"} * 为hive资源时, * { * "hiveSite":{ * "hive.querylog.location":"/home/users/zhouliechun/hive_log", * "hive.default.database.uri":"hdfs://nmg01-mulan-hdfs.dmop.baidu.com:54310/app/ecom/rigelci/hive" * * }, * "hadoopSite":{ * "mapred.job.tracker":"nmg01-mulan-job.dmop.baidu.com:54311", * "dfs.client.transfer.limit.usetk":"false" * } * } * * 为drun的时候 {"drun_cluster_name":"cdc_etl2,cdc_etl3"} * * * </pre> */ private String resourceValue; /** * 团队id */ private long teamId; /** * 创建时间 */ private Date gmtCreate; /** * 最后修改时间 */ private Date gmtModify; /** * 备注 */ private String note; @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((note == null) ? 0 : note.hashCode()); result = prime * result + ((gmtCreate == null) ? 0 : gmtCreate.hashCode()); result = prime * result + ((gmtModify == null) ? 0 : gmtModify.hashCode()); result = prime * result + (int) (resourceId ^ (resourceId >>> 32)); result = prime * result + ((resourceName == null) ? 0 : resourceName.hashCode()); result = prime * result + resourceTypeId; result = prime * result + ((resourceValue == null) ? 0 : resourceValue.hashCode()); result = prime * result + (int) (teamId ^ (teamId >>> 32)); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } TeamResource other = (TeamResource) obj; if (note == null) { if (other.note != null) { return false; } } else if (!note.equals(other.note)) { return false; } if (gmtCreate == null) { if (other.gmtCreate != null) { return false; } } else if (!gmtCreate.equals(other.gmtCreate)) { return false; } if (gmtModify == null) { if (other.gmtModify != null) { return false; } } else if (!gmtModify.equals(other.gmtModify)) { return false; } if (resourceId != other.resourceId) { return false; } if (resourceName == null) { if (other.resourceName != null) { return false; } } else if (!resourceName.equals(other.resourceName)) { return false; } if (resourceTypeId != other.resourceTypeId) { return false; } if (resourceValue == null) { if (other.resourceValue != null) { return false; } } else if (!resourceValue.equals(other.resourceValue)) { return false; } if (teamId != other.teamId) { return false; } return true; } @Override public String toString() { return "Resource [resourceId=" + resourceId + ", resourceName=" + resourceName + ", resourceTypeId=" + resourceTypeId + ", resourceValue=" + resourceValue + ", teamId=" + teamId + ", gmtCreate=" + gmtCreate + ", gmtModify=" + gmtModify + ", note=" + note + "]"; } public long getResourceId() { return resourceId; } public void setResourceId(long resourceId) { this.resourceId = resourceId; } public String getResourceName() { return resourceName; } public void setResourceName(String resourceName) { this.resourceName = resourceName; } public int getResourceTypeId() { return resourceTypeId; } public void setResourceTypeId(int resourceTypeId) { this.resourceTypeId = resourceTypeId; } public String getResourceValue() { return resourceValue; } public void setResourceValue(String resourceValue) { this.resourceValue = resourceValue; } public long getTeamId() { return teamId; } public void setTeamId(long teamId) { this.teamId = teamId; } public Date getGmtCreate() { return gmtCreate; } public void setGmtCreate(Date gmtCreate) { this.gmtCreate = gmtCreate; } public Date getGmtModify() { return gmtModify; } public void setGmtModify(Date gmtModify) { this.gmtModify = gmtModify; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } }
var args = { resourceId: resourceId, resourceName: resourceName, resourceTypeId: resourceType, resourceValue: resourceValue, teamId: teamId, note: comments }; args = JSON.stringify(args);//这一步很关键 var options = { url: window.basePath + url, contentType: 'application/json',//这里也很关键,否则后台收不到 type: 'post', dataType: 'json', data: args, success: function(rs) { if (0 === rs.status) { window.showTipMessage(msg, function() { bd.m.tools.closeProgress(); // 隐藏panel bd.v.layout.whole.hide(); // 刷新Grid bd.m.grid.reloadGrid(); }); } else { window.showErrorMessage('操作失败!原因是:' + rs.statusInfo, function() { bd.m.tools.closeProgress(); }); } }, error: function(rs) { bd.m.tools.closeProgress(); } }; $.ajax(options);
相关推荐
当需要传递数组作为参数时,可能会遇到一些挑战,特别是在数组中包含复杂对象的情况。本文将深入讲解如何在jQuery AJAX中向后台传递数组参数,并提供示例代码。 首先,理解问题的关键在于JavaScript数组在传递给...
JavaScript是实现AJAX的关键,它负责创建XMLHttpRequest对象、发送请求、处理响应。以下是一个简单的AJAX GET请求示例: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'data.json', true); xhr....
JavaScript是Ajax的基础,它是一种解释型的、基于对象的脚本语言。JavaScript可以嵌入HTML中,用于实现网页的动态效果和交互功能。JavaScript语法简洁,包括语句、注释和变量等基本元素。语句之间可以不用分号分隔,...
### AJAX传递List对象数组知识点详解 #### 一、前言 在Web开发中,前后端交互是必不可少的一个环节。AJAX作为一种实现异步加载数据的技术,可以有效地提升用户体验。本篇将详细介绍如何通过AJAX来传递一个List对象...
### AJAX中使用JavaScript的send方法POST参数详解 #### 一、引言 在Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛应用于实现网页的局部刷新,提升用户体验。其中,通过JavaScript发送POST请求是一...
Ajax的核心是JavaScript对象XMLHttpRequest,它创建了一个与服务器通信的异步通道。以下是一个基本的Ajax调用示例: ```javascript var xhr = new XMLHttpRequest(); xhr.open('POST', '/api/data', true); xhr....
* Ajax对象 * function functionName(reAjax,status){if(status == 200)alert(reAjax.responseText);} * * 例:1:GET * var myAjax=new Ajax(); * myAjax.open("http://www.ttzx.com:88/ajax/re.php",functionName);...
### AJAX传递中文参数乱码解决办法 在Web开发过程中,数据传输是不可或缺的一部分,而AJAX作为一种无需重新加载整个页面的情况下就能与服务器交换数据的技术,被广泛应用于动态数据交互场景中。然而,在处理中文等...
spket-1.6.18——Javascript/Ajax/ExtJS开发插件 这款插件主要用于为JavaScript开发的用户提供支持,方便开发人员快速进行开发。 spket-1.2以后的版本好像是收费的,本资源已破解,所以您无需为使用的期限而担忧了。
对于POST请求,需要传递一个参数对象。 ```javascript xhr.send(); // 对于GET请求 xhr.send({key: 'value'}); // 对于POST请求 ``` 5. **处理响应数据**:在响应处理函数中,我们可以访问到服务器返回的数据,...
5. **JSON与数据传输**:虽然名字中有XML,但现代Ajax更倾向于使用JSON(JavaScript Object Notation)格式来传递数据,因为JSON更轻便且易于解析。学会将JavaScript对象转换为JSON字符串,以及反向解析JSON数据,是...
### AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题 #### 背景与问题概述 在使用AJAX技术进行前后端数据交互时,经常会出现中文字符编码的问题,尤其是在使用`XMLHttpRequest`对象发送请求的过程中。例如...
在“ajax/jquery 分页”场景下,通常我们会创建一个包含当前页数、每页显示条目数以及总条目数的参数,然后通过Ajax向服务器发送请求。例如,我们可以使用 `$.get()` 方法来获取特定页码的数据: ```javascript $....
在AJAX中,我们通常使用JSON来序列化数据,因为它的结构与JavaScript对象相似,可以直接被JavaScript解析。 **一、前端使用AJAX传递JSON数组** 在前端,我们需要创建一个JSON数组并使用XMLHttpRequest对象或者更...
首先,Ajax的核心在于XMLHttpRequest对象,它允许JavaScript在不刷新整个页面的情况下与服务器进行通信。在现代Web应用中,通常使用jQuery、axios或fetch API等库来简化Ajax请求的编写。在这个Demo中,我们假设前端...
在Ajax中,JavaScript用于创建XMLHttpRequest对象,这是Ajax通信的核心。以下是一段基本的创建和使用XMLHttpRequest对象的代码: ```javascript var xhr = new XMLHttpRequest(); xhr.onreadystatechange = ...
在实际开发中,我们经常需要通过Ajax传递参数来实现特定功能,如验证用户输入、获取动态数据等。下面将详细介绍如何使用Ajax传递一个参数。 首先,让我们看一段基本的Ajax代码示例,这个例子用于在用户离开用户名...
基于AJAX与JAVASCRIPT技术在网页中传递数据的实现 本文主要介绍了基于AJAX与JAVASCRIPT技术在网页中传递数据的实现方法。AJAX技术可以使得网页程序开发中,只刷新整个网页的某一部分,而不至于整个网页刷新。通过...
在Web开发领域,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不刷新整个页面的情况下,与服务器交换数据并更新部分网页内容。DWR(Direct Web Remoting)是一个开源Java库,它使得...