【发布时间】:2020-01-28 00:27:22
【问题描述】:
我是春天的新人。我正在尝试创建 editUser.jsp 以在 mysql 数据库中编辑用户。 出于这个原因,我创建了将数据从 userList.jsp 表单传递到 editUser.jsp 的控制器和方法。 代码如下:
@RequestMapping(value = "/editUser", method = RequestMethod.POST)
private String editUser(@RequestParam int id, Model model) {
Users user = (Users) session.load(Users.class, id);
ModelAndView mv = new ModelAndView("user");
model.addAttribute("user", user);
if(user.getId()!=null){
Transaction transaction = session.beginTransaction();
session.update(user);
transaction.commit();
}
return "editUser";
}
并且数据很好地传递到了editUser页面。现在,当我尝试编辑和提交数据时,我收到了错误消息: 所需的 int 参数 'id' 不存在
<form:form action="editUser.htm" method="GET" commandName="editUser">
<div>Account Information</div>
<div>
<form:label path="uname">User name:</form:label><br/>
<form:input id="uname" type="text" path="uname"></form:input><br/>
<form:label path="pass">Password:</form:label><br/>
<form:input id="pass" type="text" path="pass"></form:input><br/>
</div>
<br/><br/>
<div>Contact Information</div>
<div>
<form:label path="gender">Choose gender:</form:label><br/>
<form:select id="gender" type="text" path="gender">
<form:option value="Female">Female</form:option>
<form:option selected="selected" value="Male">Male</form:option>
</form:select><br/>
<form:label path="age">Age:</form:label><br/>
<form:input id="age" type="text" path="age"></form:input><br/>
<form:label path="age">Address:</form:label><br/>
<form:input id="address" type="text" path="address"></form:input><br/>
</div>
<input type="submit" value="Edit User"/>
</form:form>enter code here
我是否需要在控制器中创建另一个方法来处理数据库中的更新数据或更新处理可以在现有方法中完成(目前,我完全困惑 jsp 页面如何“知道”来自控制器的哪个方法叫)? 数据库列 ID 已设置 - 自动递增。
提前致谢。
【问题讨论】:
-
不应该说 path="adress" 吗? -
好的,谢谢。但问题依然存在。
-
您混淆了
input[id]和input[name]。 Review the documentation for the tag,并学习查看浏览器的网络开发人员选项卡以查看正在发送的实际请求。
标签: java spring model-view-controller controller