package com.monkeyk.os.web.controller; import com.monkeyk.os.service.ClientDetailsService; import com.monkeyk.os.service.dto.ClientDetailsDto; import com.monkeyk.os.service.dto.ClientDetailsFormDto; import com.monkeyk.os.service.dto.ClientDetailsListDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; 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; /** * 2016/6/8 * * @author Shengzhao Li */ @Controller public class ClientDetailsController { @Autowired private ClientDetailsService clientDetailsService; @Autowired private ClientDetailsFormDtoValidator validator; @RequestMapping(value = "client_details", method = RequestMethod.GET) public String clientDetails(String clientId, Model model) { ClientDetailsListDto listDto = clientDetailsService.loadClientDetailsListDto(clientId); model.addAttribute("listDto", listDto); return "oauth/client_details"; } @RequestMapping(value = "client_details/form/plus", method = RequestMethod.GET) public String plusUser(Model model) { ClientDetailsFormDto formDto = clientDetailsService.loadClientDetailsFormDto(); model.addAttribute("formDto", formDto); return "oauth/client_details_plus"; } @RequestMapping(value = "client_details/form/plus", method = RequestMethod.POST) public String submitRegisterClient(@ModelAttribute("formDto") ClientDetailsFormDto formDto, BindingResult result) { validator.validate(formDto, result); if (result.hasErrors()) { return "oauth/client_details_plus"; } clientDetailsService.saveClientDetails(formDto); return "redirect:../../client_details"; } /* * Test client * */ @RequestMapping("client_details/test_client/{clientId}") public String testClient(@PathVariable("clientId") String clientId, Model model) { ClientDetailsDto clientDetailsDto = clientDetailsService.loadClientDetailsDto(clientId); model.addAttribute("clientDetailsDto", clientDetailsDto); return "oauth/test_client"; } }