当前位置: 首页 > 知识库问答 >
问题:

提交表单时未在控制器中获取表单值

柴兴贤
2023-03-14

我正在尝试使用spring data JPA repository方法在数据库中插入4个表单字段name、age、location和address。当我将表单提交到操作时,控制器不会无法接收提交的值。在控制器操作中获取null。在这里,我尝试使用spring、spring boot和spring data JPA。下面是我的控制器,

@RequestMapping(value="/driverSubmit", method=RequestMethod.POST)
public ModelAndView driverSubmit(@ModelAttribute Driver driver, Model model) 
    {
        model.addAttribute("driver", driver);
        driverRepo.save(driver);
        return new ModelAndView("redirect:/dHome"); //to home page insertoin 
    }

我的形式是,

<form action="driverSubmit" method="post" >
    <table width="300px" height="200px" align="center"> 
        <tr> 
            <td>
                <b> Name </b>
            </td>
            <td>
                <input type="text" name="name" />
            </td>
        </tr>
        <tr>
            <td>
                <b> Age</b>
            </td>
            <td>
                <input type="text" name="age"/>
            </td>
        </tr>
        <tr>
            <td>
                <b> Address</b>
            </td>
            <td>
               <input type="text" name="address"/>
            </td>
        </tr>
        <tr>
            <td>
                <b> Location</b>
            </td>
            <td>
                <input type="text" name="location" />
            </td>
        </tr>
    </table>
        <div>
            <input type="submit" value="Submit"/> 
        </div>
</form>
@ModelAttribute Driver driver
driver.name;
driver.age;
driver.address;
driver.location;

导入javax.persistence.*;

@Entity
@Table(name = "drivers")

public class Driver implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Integer id;

@Column(name = "name")
public String name;

@Column(name = "age")
public Integer age;

@Column(name = "address")
public String address;

@Column(name = "location")
public String location;

public Driver() {
}

public Driver(String name, Integer age, String address , String location ) {
    this.name = name;
    this.age = age;
    this.address = address;
    this.location = location;
}
}

共有1个答案

段干长恨
2023-03-14

如下所示更改驱动程序实体:

@Entity
@Table(name = "drivers")

public class Driver implements Serializable {
    private  Integer id;
    private String name;
    private Integer age;
    private String address;
    private String location;


@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

@Column(name = "name")
public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

   @Column(name = "age")
    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

  @Column(name = "address")
    public String getAddress() {
        return address;
    }


    public void setAddress(String address) {
        this.address = address;
    }

@Column(name = "location")
    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }




public Driver() {
}

public Driver(String name, Integer age, String address , String location ) {
    this.name = name;
    this.age = age;
    this.address = address;
    this.location = location;
}
}
 类似资料:
  • 下面是MultistepForm的代码。我已经实现了一个多步骤表单功能,所以这里一切都很好,只是问题是在这个表单中,我在最后一步有一个预览页面,所以当我点击提交按钮时,表单正在消失,按钮正在顶部移动。所以如果有人能帮我请。

  • 我有两个表单的视图,我正在尝试提交一个表单,其中包含一个指向具有操作的控制器的链接。但是,当我尝试将其提交给它时,请在我的另一个控制器中查找操作。我尝试以不同的方式使用参数,但没有成功。我知道我的routes文件有问题,但我不明白是什么,因为我是Rails新手。如果有帮助的话,我也在使用Rails 5。 编辑:第二个表单是失败的表单。 错误: 查看: 控制器: 路线。铷 路由控制台

  • 我想在窗体的操作重定向它之前从窗体中获取值。例如,在这个表单中,我想抓取“text_one”并将其发送到数据库,然后再将其重定向到google。我还想在谷歌上看到“text_one”。我该怎么办?

  • 我在一个基于Spring的Web应用程序(版本4.1.6。RELEASE,Spring Security 4.0.0。RELEASE)中工作,我收到错误(POST方法)。根据Spring的留档“Spring Security自动为任何

  • 获取Form变量 通过Action的如下方法可以获取变量: GetSlice GetString GetInt GetBool GetFloat GetFile GetForm 自动映射 通常我们通过http.Request.Form来获得从用户中请求到服务器端的数据,这些数据一般都是采用name,value的形式提交的。xweb默认支持自动将这些变量映射到Action的成员中,并且这种映射支持子