Spring接收前台数据方法并跳转
方式一:通过对象接受form表单数据
可以是多个对象接受数据,例如String id
@RequestMapping(value="/user/save", method=RequestMethod.POST)
public ModelAndView saveUser(User user,String id) {
StringBuilder sb = new StringBuilder();
sb.append("用户名:"+user.getUsername());
sb.append("邮箱:"+user.getEmail());
sb.append("年龄:"+user.getAge());
String content = sb.toString();
return new ModelAndView("/welcome","result",content);
}
该方式支持302跳转
@RequestMapping(value="/user/save", method=RequestMethod.POST)
public void saveUser(User user,,HttpServletResponse response) {
StringBuilder sb = new StringBuilder();
sb.append("用户名:"+user.getUsername());
sb.append("邮箱:"+user.getEmail());
sb.append("年龄:"+user.getAge());
String content = sb.toString();
response.sendRedirect("http://www.baidu.com?test="+user.getUsername());
}
前端请求:
<html>
<script type="text/javascript" src="./jquery-1.11.3.js"></script>
<body>
<script>
function jump(){
document.getElementById("test").submit();
}
</script>
<form action="http://localhost:8001/user/save/" method="post" id="test">
<input type='input' name="username" value="tttt"/>
</form>
<button onclick="jump()">jump</button>
</body>
</html>
### IDEA post
POST http://localhost:8001/user/save/
Accept: */*
Content-Type: application/x-www-form-urlencoded
username=tttt&submitOrderTime=ttt
###
方式二:通过对象接受ajax json格式数据
该方式无法直接是前端302,如需页面302,返回前端json数据,前端根据url,和状态码302 javascript 触发跳转
@RequestMapping(value = "/user/save",method = {RequestMethod.POST})
@ApiOperation(value = "保存后跳转")
@ResponseBody
public ModelAndView redirectCashierHtmlPage(
@RequestBody User use,HttpServletResponse response) throws IOException {
StringBuilder sb = new StringBuilder();
sb.append("用户名:"+user.getUsername());
sb.append("邮箱:"+user.getEmail());
sb.append("年龄:"+user.getAge());
String content = sb.toString();
Data data = new data();
use.setRedirectUrl("http://www.baidu.com?test="+user.getUsername());
use.setStatus=302;
return date;
}
$.ajax({
url: '/user/save',
type: 'post',
data: data,
dataType: 'json',
contentType:'application/json'
success: function (data) {
if (data.status == 302) {
location.href = data.redirectUrl;
}
}
});
参考链接
[Spring接收前台表单数据的三种方法](https://www.cnblogs.com/birdterror/p/13282513.html)