我是春季新人。我试图创建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页面如何“知道” Controller中的哪个方法。叫)? 设置数据库列ID-自动递增。
先谢谢了。
答案 0 :(得分:0)
@RequestParam(value =“ id”,required =“ false”)int id