2014-10-01 33 views
0

我正在使用Spring MVC編寫web-app。作爲一個視圖,我使用JSP。我想在控制器方法中綁定spring標籤和params中的數據。 F.E.我有一個添加用戶窗體:如何在Web控制器中使用spring標籤中的值?

<form:form action="/add_user" commandName="user"> 
    <div> 
     First name:<form:input path="firstName"/><br> 
     Last name:<form:textarea path="lastName"/> 
    </div> 
    <div> 
     <input type="submit" value="Add user"> 
    </div> 
</form:form> 

和控制器:

@Controller 
@RequestMapping(value = "/") 
public class MainController { 
    @Autowired 
    private UserService userService; 
    ... 
    @RequestMapping(value = "/add_user", method = RequestMethod.POST) 
    public String addUser(??? User newUser ????) { 
     userService.add(newUser); 
     return "redirect:/users"; 
    } 
    ... 
} 

我應該怎麼放,而不是???????在括號之間? 如果你給我detaile教程或普通文件,我會欣喜若狂(不是「http://docs.spring.io/」)

回答

1

您需要添加@ModelAttributenewUser參數:

@RequestMapping(value = "/add_user", method = RequestMethod.POST) 
public String addUser(@ModelAttribute("user") User newUser) { 
    .. 
} 

看一看的form submission指南。本指南使用Thymeleaf而不是JSP,但控制器內部的表單處理方式相同。

+0

我得到了: 'java.lang.IllegalStateException:既沒有BindingResult也沒有bean名稱'user'的普通目標對象可用作請求屬性' – 2014-10-01 19:43:40

相關問題