在Spring MVC中如何从控制器中获取JSP中的表单对象?

时间:2013-10-07 13:35:14

标签: jsp spring-mvc

我试图从控制器获取jsp中的表单对象。 JSP :: updateuser.jsp

  <form name="user" action="updateuser" method="post">
        <ul>
        <li>
            <label>User Name</label> <input type="text" name="userName" />
        </li>
        <li>
            <label>Password</label> <input type="password" name="password" />
        </li>
        <li>
            <label>FirstName</label> <input type="text" name="firstName" />
        </li>
        <li>
            <label>LastName</label> <input type="text" name="lastName" />
        </li>
        </ul>
        <button type="submit">Update</button>
</form>

Controller :: UpdateUserController.java

  @RequestMapping("/updateuser")
    public class UpdateUserController {
        @RequestMapping(method = RequestMethod.POST)
        public ModelAndView update(@ModelAttribute("user") User user,
                                       ModelMap model,HttpServletRequest request) {

            return new ModelAndView("updateuser","user",model);
        }
    }

在任何字段中添加值并单击“更新”按钮后。表单被提交并在映射的POJO中我获得了价值。 现在我想在字段中显示这些值,而不是逐个添加到模型对象(即model.addAttribute("userName", user.getUserName())所有字段中。另外,我不想使用Spring标签库。我如何填写表格中的所有值?

2 个答案:

答案 0 :(得分:5)

使用@ModelAttribute您已将User对象放在Model中,您无需再次将其添加到已返回的ModelAndView。模型属性最终作为请求属性添加,因此您可以使用EL在jsp中解析它们。

<c:out value="${user.userName}" />  

答案 1 :(得分:0)

  @RequestMapping(value="/update" , method=RequestMethod.POST)
     public ModelAndView submitupdatevalue(@ModelAttribute("update") User update){
      ModelAndView model=new ModelAndView("DisplayPageName");
       return model
    }

// ......DisplayPageName.jsp
 <td> ${update.AttributName}</td>
  //.... it should be same AttributName as submitFormpage in  DisplayPageName