Java Spring-“所需的int参数不存在”

时间:2019-09-27 16:46:57

标签: java spring model-view-controller controller

我是春季新人。我试图创建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-自动递增。

先谢谢了。

1 个答案:

答案 0 :(得分:0)

@RequestParam(value =“ id”,required =“ false”)int id