728x90
Model
스프링 MVC는 모델이라는 데이터를 JSP에 전달해야한다.
Model은 addAttribute( ) 메소드를 사용하여 뷰에 전달할 이름과 값을 지정가능하다.
👉 listController
@GetMapping("/list")
public void list(Model model){
log.ingo("list....")
model.addAttibute("message", "hello world");
}
👉 list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title> 타이틀 </title>
</head>
<body>
<h1> ${message} </h1>
<h1><c:out value="${message}"></c:out></h1>
</body>
</html>
🔔 Model에 담긴 데이터는 HttpServletRequest의 setAttribute()와 동일한 동작을 수행하기에 jsp에서 바로 사용가능하다.
➕ @ModelAttribute
1. 파라미터로 DTO를 받는 경우 jsp에서는 별도의 처리없이 ${listDTO}를 이용할 수 있다.
@GetMapping("/list")
public void list(ListDTO listDTO, Model model){
log.ingo("listDTO")
}
2. listDTO말고 다른 변수명을 사용하고자한다면 명시적으로 @ModelAttribute()를 사용하여 적용하면 된다.
-> jsp에서 ${dto} 로 처리된다.
@GetMapping("/list")
public void list(@ModelAttribute("dto"), Model model){
log.ingo("listDTO")
}
'📓 TechNote > Spring' 카테고리의 다른 글
[Spring] RedirectAttributes (0) | 2023.03.05 |
---|---|
[Spring] 스프링에서 사용하는 어노테이션 (0) | 2023.03.04 |
[Spring] UUID란 ? (0) | 2023.03.03 |
[Spring] @Param은 언제쓰는걸까? (0) | 2023.02.20 |
[Spring] @GetMapping 과 @PostMapping (0) | 2023.02.20 |