gpt4 book ai didi

java - 如何将html输入值从表单传递到数据库(Springboot)

转载 作者:行者123 更新时间:2023-12-01 08:54:43 25 4
gpt4 key购买 nike

我有一个本地 Oracle 数据库,已与其建立了牢固的连接。现在我只想使用 Controller 从 HTML 输入表单发布数据来处理所述数据。

我的表单如下所示:

<form action="/request/save" method="post">
<input type="text" id="dateInput" name="requestDate" value="1" style="display: none;"/>
<input type="text" name="description" value="This is a test request." style="display: none;"/>
<input type="text" name="status" value="false" style="display: none;"/>
<div style="width: 200px;"><input type="submit" value="Submit Request" style="display: block;"></div>
</form>

Controller :

@RequestMapping(value = "/save", method = RequestMethod.POST)
String saveRequest(Principal principal, @ModelAttribute Request request, Model model) {
// Set UserId to Request Field USER_ID
Users user = usersRepository.findOneByInitialName(principal.getName());
Request requestObj = new Request(user, new Date());
requestObj.setId(user.getId());

// Set Additional Request Fields
requestObj.setDescription("Test");
requestObj.setStatus(false);
requestObj.setRequestDate(new Date());

// Save Request Object
requestRepository.save(requestObj);
return "requests";
}

实体(用于完成):

@Entity
public class Request {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="request_id")
private Long id;
private Date requestDate;
private String description;
private Boolean status;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="user_id", nullable = false)
private Users users;

public Request() {}

public Request(Users user, Date requestDate) {
this.setUsers(user);
this.setRequestDate(requestDate);
}

@Override
public String toString() {
return String.format(
"Request[id=%d, inital='%s', requestDate='%s']",
getId()
, getUsers().getInitialName()
, getRequestDate());
}


public Date getRequestDate() {
return requestDate;
}

public void setRequestDate(Date requestDate) {
this.requestDate = requestDate;
}

public Boolean getStatus() {
return status;
}

public void setStatus(Boolean status) {
this.status = status;
}

public Long getId() {
return id;
}

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

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}

public Users getUsers() {
return users;
}

public void setUsers(Users users) {
this.users = users;
}
}

如何将表单中的数据发送到我的数据库?

错误:

Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.

最佳答案

您可能已在 web.xml 中配置了 csrf 过滤器,因此您需要在请求 header 中传递“X-CSRF-TOKEN”。

关于java - 如何将html输入值从表单传递到数据库(Springboot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42115370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com