如何解决如何获取和存储从下拉列表中选择的值到数据库?
addMission.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Create a mission</title>
</head>
<body>
<h1>Create a Mission</h1>
<form action="/createMission" method="post">
<p>Mission title: <input type="text" required id="title" name="title" value=""></p>
<p>
<select name="agent" id="agent">
<option value="natasha">Natasha Romanova</option>
<option value="austin">Austin Powers</option>
<option value="johnny">Johnny English</option>
</select>
</p>
<h2>Enter the gadgets</h2>
<p>Gadget 1:<input type="text" required id="gadget1" name="gadget1" value=""></p>
<p>Gadget 2:<input type="text" required id="gadget2" name="gadget2" value=""></p>
<p><input type="submit" value="Create Mission!"></p>
</form>
<p> <a href="/"> Back to home </a></p>
</body>
</html>
控制器代码
@PostMapping("/createMission")
public String createMission(@ModelAttribute Mission mission) {
int returnValue = database.createMission(mission);
System.out.println(returnValue);
return "view_missions";
}
createMission()方法
public int createMission(Mission mission) {
MapSqlParameterSource namedParameters = new MapSqlParameterSource();
String query = "INSERT INTO missions(agent,title,gadget1,gadget2) VALUES (:agent,:title,:gadget1,:gadget2)";
namedParameters
.addValue("agent",mission.getAgent())
.addValue("title",mission.getTitle())
.addValue("gadget1",mission.getGadget1())
.addValue("gadget2",mission.getGadget2());
int returnValue = jdbc.update(query,namedParameters);
return returnValue;
}
在上面共享的代码段中,我使用百里香叶创建了一个任务。 当我在文本框中输入详细信息并单击“创建”按钮时,出现错误“无法在null上找到属性或字段“空””。我确定此null属性来自下拉列表。 有什么办法可以获取下拉列表的值以及其他值,并将其发送到createMission()吗?
解决方法
我在您的控制器中看不到如何取回值。 您需要在“获取控制器”中将对象添加到模型中,并将其链接到表单。 然后,您可以检索它并将其保存在数据库中。
请查看this post,您将获得有关制作方法的更多详细信息
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。