zoukankan      html  css  js  c++  java
  • Spring MVC中 提交表单报错400

    背景:

      在写SpringMVC表单提交的代码的时,在最后点击提交的时候总是会出现400的错误

    原因:

      主要原因就是表单提交的数据和对应实体类的属性无法完全匹配

    解决方案:

      查看我们提交的数据是否完全和对应的实体类进行完全的匹配,

    我的示例代码:

      实现的表单的截图:

      表单中的代码:  

    <form:form action="emp" method="POST" modelAttribute="employee">
        
            LastName:<form:input path="lastName"/>
            <br>
            Email:<form:input path="email"/>
            <br>
            <%
                Map<String,String> genders = new HashMap<>();
                genders.put("1","Male");
                genders.put("0","Female");
                request.setAttribute("genders", genders);
            %>
            Gender:
            <br>
            <form:radiobuttons path="gender" items="${genders}" delimiter="<br>" />
            <br>
            Department:<form:select path="department"
                                    items="${departments }" itemLabel="departmentName" itemValue="id"></form:select>
            <br>
            <input type="submit" value="Submit"/>
        </form:form>

    对应实体类的代码:

    public class Employee {
    
        private Integer id;
    
        private String lastName;
    
        private String email;
        //1 male, 0 female
        private Integer gender;
        
        private Department department;
        
    
    .................省略了对应的get和set方法,和有参无参构造器..................
    }

     通过以上信息我们可以看出问题是出在了表单中最后一项的department

    前端页面显示的是department的名字,但是表单提交的是department的id,所有我们应该将: 

    path="department" 修改为:path="department.id"

    出现这个问题的主要原因是我对
    form:select 标签没有完全理解里面的属性和使用方法
  • 相关阅读:
    Java基本概念
    Java基础语法
    Java环境的搭建
    elicpse
    常见编译器EOP
    上传突破学习笔记
    认识ollydbg
    160个Crackerme破解
    python基础(1)
    文件上传
  • 原文地址:https://www.cnblogs.com/revel171226/p/SpringMVC.html
Copyright © 2011-2022 走看看