2010-03-26 26 views
1

我想擁有一個可以處理多個請求的控制器。就像處理所有addUser,deleteUser,updateUser和viewUser功能的UserController一樣。我知道MultiActionController可以用來將多個類似的請求捆綁到一個控制器中。但是addUser和updateUser等功能涉及用戶輸入控制器需要處理的數據。 MultiActionController可以處理doSubmit類型的方法(類似於SimpleFormController)。有沒有更好的方法來處理這種情況?多行動與表單設計streatgy

謝謝。 Ravi

回答

1

您使用的是什麼版本的Spring MVC?如果您使用的是2.5或更高版本,則應該查看Spring MVC註釋,它允許您使用任意數量的控制器方法將任何類作爲控制器(可以絕對包含一些處理POST請求的控制器方法 - 「doSubmit 「 - 一些處理GET請求)。

編輯補充示例代碼:

(請注意,我試圖使用REST約定的樣品中,但不是必需的。)

內UserController.java(不必繼承來自任何春季班,但頂部應該有@Controller

@RequestMapping(value = "https://stackoverflow.com/users/{userId}", method = RequestMethod.GET) 
public String showUser(@PathVariable("userId") Long userId, ModelMap model) {  
    model.addAttribute("user", userRepository.getUser(userId)); 
    return "showUser"; //view name 
} 

    @RequestMapping(value = "https://stackoverflow.com/users/", method = RequestMethod.POST) 
    public String createUser(@ModelAttribute("user") User user, BindingResult result, SessionStatus status) { 

    new UserValidator().validate(user, result); 
    if (result.hasErrors()) { 
     return "userForm"; 
    } 
    else { 
     userRepository.saveUser(user); 
     status.setComplete(); 
     return "redirect:/users/" + user.getId();`enter code here` 
    } 
+0

我使用Spring 2.5。你能給我一個示例代碼嗎?謝謝。 – Ravi 2010-03-26 16:40:31