Spring接收前台表单数据方法

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)

Form表单的主要Content-Type

AJAX与302响应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值