스프링 12강 - 컨트롤러 클래스 제작
November 16, 2018
12-1 컨트롤러 클래스 제작
- 클래스 제작 순서
- @Controller를 이용한 클래스 생성
- @RequestMapping을 이용한 요청 경로 지정
- 요청 처리 메서드 구현
- 뷰 이름 리턴
// 예제 12_1_ex 1
// HomeController.java
// 1. 이 클래스는 컨트롤러로 사용되는 클래스다!
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
// 2. "/" 로 url 요청이 들어오면 이 메서드를 실행시켜라 -> 3. 메서드 실행
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
logger.info("Welcome home! The client locale is {}.", locale);
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
// 4. 뷰 이름 리턴
return "home";
}
@RequestMapping("/board/view")
public String view() {
return "board/view";
}
@RequestMapping("/board/content")
public String content(Model model) {
model.addAttribute("id", 30);
return "board/content";
}
@RequestMapping("/board/reply")
public ModelAndView reply() {
ModelAndView mv = new ModelAndView();
mv.addObject("id", 30);
mv.setViewName("board/reply");
return mv;
}
}
12-2 요청 처리 메서드 제작
- 뷰페이지 이름 생성방법
- prefix + 요청처리 메서드 반환값 + suffix
12-3 뷰에 데이터 전달
public String content(Model model){
// id라는 이름으로 뷰에 데이터를 전달하고 있다
model.addAttribute("id", 30);
return "board/content";
}
- 뷰에서는 el 문법으로 전달받은 데이터를 사용가능
${id}
참고자료
- 스프링과정12강 블스(김명호 강사)