SpringMVC访问Controller接口返回400BadRequest
来源:互联网 发布:黑马java入学测试 编辑:程序博客网 时间:2024/05/21 18:33
问题:SpringMVC使用自定义类型接收参数时, form提交会返回400 Bad Request,controller接口里的方法没有得到调用。
@RequestMapping(value = "/list.do", method = {RequestMethod.GET , RequestMethod.POST}) public String list(Order param, HttpServletRequest request) { logger.info(JSONObject.fromObject(param).toString()); Integer count = orderService.findCount(param); logger.info(count); param.setRows(count); List<Order> result = orderService.findByPage(param); logger.info(JSONArray.fromObject(result).toString()); request.setAttribute("param", param); request.setAttribute("result", result); return "order/list"; }
<form action="<%=basePath%>order/list.do" id="myform" method="post" > <input type="hidden" name="currentPage" value="${param.currentPage}"/> <table> <tr> <td width="80" align="right">订单状态: </td> <td> <select name="order_status" autoWidth="true" style="width:120px;"> <option value="">全部</option> <c:forEach items="${order_status_map}" var="temp"> <option value="${temp.key}" <c:if test="${temp.key == param.order_status}">selected="selected"</c:if>>${temp.value}</option> </c:forEach> </select> </td> <td align="right">订单号: </td> <td> <input type="text" name="order_no" id="order_no" onfocus="this.value=''" value="${param.order_no}" style="width:140px;"/> </td> </tr> <tr> <td width="80" align="right">创建时间: </td> <td><input type="text" class="date" name="createTimeStart" value="${param.createTimeStart}" style="width:120px;"/></td> <td align="center"> 至 </td> <td><input type="text" class="date" name="createTimeEnd" value="${param.createTimeEnd}" style="width:120px;"/></td> <td><button><span class="icon_find">查询</span></button></td> <td><button onclick="add();return false;"><span class="icon_add">添加</span></button></td> </tr> </table> </form>
直接在浏览器地址栏输入<%=basePath%>order/list.do是可以访问的并查询出数据的,我一开始以为是get方法能访问,post不能访问,后来发现,get使用Context-Type为application/x-www-form-urlencoded时也会访问不了,post使用使用application/json也能访问。
所以,这就需要修改form里的enctype属性为application/json,但是enctype属性只支持下面表格三种,
HTML form 标签的 enctype 属性
我试了下,text/plain和application/json具有同样的效果。
虽然在form里加上enctype=”text/plain”可以解决接口返回400BadRequest的问题,但是有新的问题出现:接口的参数Order param接受不到post提交的值,但是将参数直接拼接在url,Order param则可以接收到值,Order param
阅读全文
0 0
- SpringMVC访问Controller接口返回400BadRequest
- BadRequest 400
- springmvc上传文件BadRequest异常
- SpringMVC中controller返回图片
- SpringMVC Controller 的返回类型
- 【springmvc学习】controller返回值
- SpringMVC -Controller返回xml数据
- springmvc的controller返回html
- springmvc的controller返回值
- 400 badrequest问题
- SpringMVC——Controller接口
- SpringMVC--Controller接口控制器详解
- SpringMVC-----SpringMVC统一处理Controller返回值
- springmvc 页面400异常,访问不到controller原因及解决办法
- SpringMVC Controller 返回值的可选类型
- SpringMVC Controller 返回值的可选类型
- SpringMVC Controller 返回值的可选类型
- SpringMVC - Controller 返回值的可选类型
- CodeForces
- 11111
- 淘宝maven镜像库(先收藏,据说速度可以,未验证是否可以用)
- 华为OJ_数据分类处理
- uva 10604Chemical Reaction
- SpringMVC访问Controller接口返回400BadRequest
- Hibernate注解介绍
- request.getHeader() 相关详细与x-forwarded-for
- d
- Understanding Convolutional Neural Networks for NLP
- 项目中包的层次化设置
- 常用定理
- Android-25种开源炫酷动画框架
- oracle11和12c的比较