신규 블로그를 만들었습니다!
스프링 MVC 컨트롤러 (Controller)
기본적인 흐름은
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"; // 뷰 파일 리턴
}
}
View의 요청 경로(Path) 설정하기
@RequestMapping
어노테이션을 이용해서, view 폴더안의
내가 목표로 하는 view의 경로(path)를 넣는다.
예를들어,
view.jsp가 아래와 같은 경로를 가질때
아래와 같이 /board/view 라고 설정한다.
@RequestMapping("/board/view") // 요청경로(path)
그리고, return 값도 똑같이 board/view로 설정 한다.
return "board/view"; // 뷰페이지 이름
Model 객체 사용법
Model 객체를 파라미터로 받아서 데이터를 뷰로 넘길 수 있다.
@RequestMapping("/board/view")
public String view(Model model) {
// 데이터만 설정이 가능
model.addAttribute("id", "hongku");
return "board/view";
}
Model 객체를 파라미터로 받는다.
model.addAttribute("변수이름", "변수에 넣을 데이터값");
model.addAttribute를 이용해서, 넘길 데이터의 이름과 값을 넣는다.
그러면, 스프링은 그 값을 뷰쪽으로 넘겨준다.
${변수이름}
뷰(.jsp 파일)에서는 ${}를 이용해서 값을 가져온다.
예를들어,
당신의 ID는 ${id} 입니다.
ModelAndView 객체 사용법
Model 객체와 크게 다르지 않다.
@RequestMapping("/board/content")
public ModelAndView content() {
// 데이터와 뷰를 동시에 설정이 가능
ModelAndView mv = new ModelAndView();
mv.setViewName("/board/content"); // 뷰의 이름
mv.addObject("data", "12341234"); // 뷰로 보낼 데이터 값
return mv;
}
반환값으로 ModelAndView 객체를 반환한다.
ModelAndView 객체를 선언 및 생성한다.
뷰의 이름을 설정해줘야 하는데,
setViewName() 메소드를 이용한다.
mv.setViewName("뷰의 경로");
데이터를 보낼때는
addObject() 메소드를 이용한다.
mv.addObject("변수 이름", "데이터 값");
그리고,
return mv;
ModelAndView 객체를 반환한다.
jsp도 똑같이 ${}를 이용한다.
Data : ${data}
Reference
※ 이 글은 Seoul Wiz - '실전 Spring 강좌'를 요약하여 작성하였습니다.
관련 글
2018/03/14 - [WEB/SpringMVC] - SpringMVC :: 스프링 MVC 기초, 스프링MVC 프로젝트 만들기
'WEB > SpringMVC' 카테고리의 다른 글
SpringMVC :: HttpServletRequest 사용해서 값 받아오기 (67) | 2018.03.20 |
---|---|
SpringMVC :: 한글깨짐현상, UTF-8로 인코딩하기(Encoding) (302) | 2018.03.15 |
SpringMVC :: 스프링 MVC 기초, 스프링MVC 프로젝트 만들기 (301) | 2018.03.14 |
SpringMVC :: AOP란?(Aspect Oriented Programing), 스프링에서 AOP 구현방법(xml 이용) (963) | 2018.03.12 |
SpringMVC :: 상황에 따라서 개발환경 바꾸면서 실행하기 (974) | 2018.03.11 |
최근댓글