ajax/javascript先后台传递对象参数
在做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); 相关推荐
86193952 2020-10-27
Mynamezhuang 2020-09-18
充满诗意的联盟 2020-08-23
raksmart0 2020-08-17
yfightfors 2020-08-16
84487600 2020-08-16
qdqht00 2020-07-26
WebVincent 2020-07-21
hzyuhz 2020-07-04
fengchao000 2020-07-04
javaraylu 2020-06-28
baijinswpu 2020-06-28
ZHANGRENXIANG00 2020-06-28
Teamomc 2020-06-28
Catastrophe 2020-06-26
hell0kitty 2020-06-17
我欲疾风前行 2020-06-18