반응형
client가 요청을 하면, @Controller에 진입한다. 컨트롤러는 요청에 대한 작업을 수행하고, 뷰쪽으로 데이터를 전달한다.
컨트롤러 클래스 제작 순서
- @Controller를 이용해서 클래스를 생성한다.
- @RequestMapping을 이용해, view의 요청 경로 지정한다.
- 요청 처리 메소드(로직) 구현한다.
- 뷰 이름 리턴한다.
@Controller // 컨트롤러 지정
public class HomeController {
// 뷰의 요청 경로 지정
@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 객체를 이용해서, view로 Data 전달
model.addAttribute("serverTime", formattedDate);
return "home"; // 뷰 파일 리턴
}
}
Model 객체 사용법
Model 객체를 파라미터로 받아서 데이터를 뷰로 넘길 수 있다.
@RequestMapping("/board/view")
public String view(Model model) {
// 데이터만 설정이 가능
model.addAttribute("id", "hongku");
return "board/view";
}
Model 객체를 파라미터로 받는다.
model.addAttribute("변수이름", "변수에 넣을 데이터값");
뷰(.jsp 파일)에서는 ${}를 이용해서 값을 가져온다.
당신의 ID는 ${id} 입니다.
jsp 파일 내용
브라우저 결과 화면
ModelAndView 객체 사용법
Model 객체와 크게 다르지 않다.
@RequestMapping("/board/content")
public ModelAndView content() {
// 데이터와 뷰를 동시에 설정이 가능
ModelAndView mv = new ModelAndView();
mv.setViewName("/board/content"); // 뷰의 이름
mv.addObject("data", "12341234"); // 뷰로 보낼 데이터 값
return mv;
}
setViewName()으로 뷰 경로를, addObject()로 데이터를 담고 return mv;로 반환한다.
mv.setViewName("뷰의 경로");
mv.addObject("변수 이름", "데이터 값");
return mv;
jsp에서도 동일하게 ${}를 사용한다.
Data : ${data}
jsp 파일 내용
반응형
'개발 모음집 > Spring' 카테고리의 다른 글
| Spring @PostConstruct 완벽 가이드: DI 끝난 직후 단 한 번 실행되는 초기화 훅 (3) | 2025.07.26 |
|---|---|
| Spring IoC, DI 란? (0) | 2025.06.22 |
| [Spring] Kotlin과 JPA를 사용하여 간단한 API 만들기 (0) | 2021.04.26 |
| [Spring] RequestParam을 VO로 받는방법 (0) | 2021.04.26 |
| [Spring] DTO를 Inner Class로 사용 (0) | 2021.04.26 |
| [Spring] 스프링의 특징 (0) | 2019.01.20 |