Java如何实现form表单提交的数据自动对应实体类(源码)
原文出自:https://blog.csdn.net/seesun2012
原生Java+JQuery form表单serializeArray提交自动对应java实体,这是一个实际的例子:
html界面:
<form id="data-form">
秒杀一:<input class="td_input" name="killA" type="number"><br>
秒杀二:<input class="td_input" name="killB" type="number"><br>
秒杀三:<input class="td_input" name="killC" type="number"><br>
秒杀四:<input class="td_input" name="killD" type="number"><br>
</form>
<div>
<span id = "killApple" style="padding: 20px;">开始秒杀</span>
</div>
JS脚本,表单序列化 + 异步请求:
//点击提交,发送异步请求
$("#killApple").click(function(content){
//获取表单数据,并序列化
var formData = $("#flop-form").serializeArray();
//将序列化数据转为对象
var formObject = {};
for (var item in formData) {
formObject[formData[item].name] = formData[item].value;
}
formData = JSON.stringify(formObject);
//发送JSON到服务器
$.ajax({
type: "POST",
url: "/kill/killOrder",
contentType: "application/json", //一定要设置这一行,很关键
data : formData,
datatype: "json",
success: function (data) {
alert(JSON.stringify(data));
}
});
});
秒杀下单控制器:
package com.seesun2012.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.seesun2012.dao.entity.KillOrder;
import com.seesun2012.utils.Result;
/**
* 【秒杀下单】控制器
*
* @author seesun2012@163.com
*
*/
@Controller
@RequestMapping("/kill")
public class GameController extends BaseController{
/**
* 衬衫秒杀
*/
@RequestMapping(value = "/killApple", method = RequestMethod.POST, consumes = "application/json")
@ResponseBody
public Result killOrder(HttpServletRequest request, @RequestBody KillOrder ko){
try {
//具体业务实现
return Result.build(200, "秒杀成功");
} catch (Exception e) {
return Result.build(500, e.getMessage());
}
}
}
秒杀实体Bean:
package com.seesun2012.dao.entity;
/**
* 秒杀参数实体
*/
public class KillOrder {
private Integer killA;
private Integer killB;
private Integer killC;
private Integer killD;
//TODO GET、SET方法...
}
秒杀结果返回工具类:
package com.seesun2012.utils;
import java.io.Serializable;
import java.util.HashMap;
/**
* 统一返回结果类
*
* @author seesun2012@163.com
*
*//
public class Result extends HashMap<String, Object> implements Serializable {
private static final long serialVersionUID = 1L;
public static final Result SUCCEED = new Result(0, "操作成功");
public Result(int status, String massage) {
super();
this.put("status", status).put("message", massage);
}
public Result put(String key, Object value) {
super.put(key, value);
return this;
}
public static Result build(int i, String message) {
return new Result(i, message);
}
}
Java如何实现form表单提交的数据自动对应实体类(源码)的更多相关文章
- 非form表单提交的数据就要用@requestbody注解获取http传过来的值,尤其json
非form表单提交的数据就要用@requestbody注解获取http传过来的值,尤其json
- Asp 循环输出 form 表单提交的数据
亲测asp提交form表单数据,在接收页面循环输出数据 dim var for each var in request.form response.write var&"=" ...
- 从页面获取form表单提交的数据
1 使用HttpServletRequest,方便灵活 页面代码,使用action提交一个表单,里边有球的id,球的主人,球的颜色,所在省份,区域 <form action="ball ...
- springMVC+thymeleaf form表单提交前后台数据传递
后端: @RequestMapping(value = "/add", method=RequestMethod.POST) public String save(@ModelAt ...
- form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决
form表单提交中文乱码(前台中文到JAVA后台乱码)问题及解决 一.问题: 页面输入框中的中文内容,在后台乱码,导致搜索功能失效:(详细可以见后面的重现) 二.原因: 浏览器对于数据的默认编码格式为 ...
- Java后台使用httpclient入门HttpPost请求(form表单提交,File文件上传和传输Json数据)
一.HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...
- jQuery Form 表单提交插件-----formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的 应用
一.jQuery Form的其他api 1. formSerialize 将表单序列化成查询串.这个方法将返回一个形如: name1=value1&name2=value2的字符串.是否可 ...
- SpringMVC中使用bean来接收form表单提交的参数时的注意点
这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点 ...
- java post请求的表单提交和json提交简单小结
在java实现http请求时有分为多种参数的传递方式,以下给出通过form表单提交和json提交的参数传递方式: public String POST_FORM(String url, Map< ...
随机推荐
- 51nod-迷宫问题(Dijkstra算法)
关于Dijkstra算法的博文 http://www.cnblogs.com/skywang12345/p/3711512.html#anchor2 Dijkstra算法是一个经典的算法——他是荷兰计 ...
- mongodb 的基本操作
1. show dbs 查看服务器中有多少个数据库 2.创建数据库 use <数据库名称> 注意如果数据库中没有表的话,那么数据库是不会显示的 如果存在这个表名则是切换 不存在则是 ...
- [Maven实战-许晓斌]-[第二章]-2.5 Eclipse上面安装Maven插件 m2eclipse
Eclipse上面安装Maven插件 m2eclipse --需要特别指出的是,越来越多的最新的Eclipse版本自带Maven m2e http://m2eclipse.sonatype.org/s ...
- bzoj 4283 魔法少女伊莉雅
题目大意 给定一个 $n$ 个点 $m$ 条边的带正权无向图.要求找一条路径满足: 它是一条简单路径 它是一条严格次短路 对于任何一条可能存在于最短路上的边,不能包含它的反向边. 不存在这条路径输出 ...
- mysqli扩展库---事务控制
1, 有一张银行账号表 create table account( id int primary key, balance float ); 2,现在有一段php程序,要完成把1号10元钱,转到2号账 ...
- ubuntu15.04下安装jdk8
前几天手贱,删掉了ubuntu自带的java,最后安装时遇到了Picked up JAVA_TOOL_OPTIONS的问题,经过网上各种找,终于被我弄成功了.下面将经验下载下面供大家方便: jdk8的 ...
- P4850 [IOI2009]葡萄干raisins 记忆化搜索
$ \color{#0066ff}{ 题目描述 }$ 普罗夫迪夫的著名巧克力大师Bonny需要切开一板带有葡萄干的巧克力.巧克力是一个包含许多相同的方形小块的矩形.小块沿着巧克力的边排列成n行m列,即 ...
- 2016级算法第三次上机-A.Bamboo的小吃街
A Bamboo的小吃街 分析 经典的两条流水线问题,题目描述基本类似于课件中的流水线调度,符合动态规划最优子结构性质 关键的动态规划式子为: dp[0][j] = min(dp[0][j - 1], ...
- J15W-J45W全铜质截止阀厂家,J15W-J45W全铜质截止阀价格 - 专题栏目 - 无极资讯网
无极资讯网 首页 最新资讯 最新图集 最新标签 搜索 J15W-J45W全铜质截止阀 无极资讯网精心为您挑选了(J15W-J45W全铜质截止阀)信息,其中包含了(J15W-J45W全铜质截止阀)厂 ...
- egg
简介 阿里的 红色的是项目名字 egg-init --type simple First && cd First egg-init --type simple Second &a ...