Java tutorial
/******************************************************************************* * Copyright (c) 2005, 2014 springside.github.io * * Licensed under the Apache License, Version 2.0 (the "License"); *******************************************************************************/ package com.bill99.yn.webmgmt.web.account; import java.util.List; import javax.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.bill99.yn.webmgmt.entity.User; import com.bill99.yn.webmgmt.service.account.AccountService; /** * ??Controller. * * @author calvin */ @Controller @RequestMapping(value = "/admin/user") public class UserAdminController { @Autowired private AccountService accountService; @RequestMapping(method = RequestMethod.GET) public String list(Model model) { List<User> users = accountService.getAllUser(); model.addAttribute("users", users); return "account/adminUserList"; } @RequestMapping(value = "create", method = RequestMethod.GET) public String createForm(Model model) { model.addAttribute("user", new User()); model.addAttribute("action", "create"); return "account/adminUserForm"; } @RequestMapping(value = "create", method = RequestMethod.POST) public String create(@Valid @ModelAttribute("user") User user, RedirectAttributes redirectAttributes) { accountService.registerUser(user); redirectAttributes.addFlashAttribute("message", "" + user.getLoginName() + "?"); return "redirect:/admin/user"; } @RequestMapping(value = "update/{id}", method = RequestMethod.GET) public String updateForm(@PathVariable("id") Long id, Model model) { model.addAttribute("user", accountService.getUser(id)); model.addAttribute("action", "update"); return "account/adminUserForm"; } @RequestMapping(value = "update", method = RequestMethod.POST) public String update(@Valid @ModelAttribute("user") User user, RedirectAttributes redirectAttributes) { accountService.updateUser(user); redirectAttributes.addFlashAttribute("message", "" + user.getLoginName() + "?"); return "redirect:/admin/user"; } @RequestMapping(value = "delete/{id}") public String delete(@PathVariable("id") Long id, RedirectAttributes redirectAttributes) { User user = accountService.getUser(id); accountService.deleteUser(id); redirectAttributes.addFlashAttribute("message", "" + user.getLoginName() + "?"); return "redirect:/admin/user"; } /** * RequestMapping?Model, Struts2 Preparable,?formid?User,?Form?? * update()formidupdate. */ @ModelAttribute public void getUser(@RequestParam(value = "id", defaultValue = "-1") Long id, Model model) { if (id != -1) { model.addAttribute("user", accountService.getUser(id)); } } }