괴발개발 개발하다
[ Spring ] 스프링 model.addAttribute() 메소드 본문
: @RequestMapping이 부여된 메서드들은 view를 생성하는역할, 즉 Controller메서드.
: Controller는 Model을 이용해 데이터를 갖고오고, view에 데이터를 넘겨 적절한 view를 생성하는 역할.
< Controller에서 사용자에게 응답할 View를 생성할 때 Model을 이용하여 View에 데이터를 전달하는 방법 >
1. model.addAttribute(String name, Object value) ;
: value 객체를 name 이름으로 추가함.
: 뷰 코드에서는 name으로 지정한 이름을 통해서 value를 사용함.
@Controller
public class HomeController{
@RequestMapping("/")
public String home(Model model){
model.addAttribute("key", "home value");
return "home";
}
@RequestMapping("/login")
public String login(Model model){
model.addAttribute("key", "login value");
return "login";
}
}
매개변수로 전달받은 model.addAttribute("key", "value"); 메소드를 이용해서 view에 전달할 데이터를 key, value 쌍으로 전달함.
<html>
<head>
<title></title>
</head>
<body>
<%= request.getAttribute("value")%>
</body>
</html>
view(jsp) 에서 getAttribute("key") 메소드를 이용해서 해당 값 활용 가능함.
<html>
<head>
<title></title>
</head>
<body>
<h1>
key is ${key}
//home.jsp 에서는 key 값 = home value
//login.jsp 에서는 key 값 = login value
</h1>
</body>
</html>
view(jsp) 에서 ${} 를 이용해서 해당 값 활용 가능함.
2. Model addAttribute(Object value);
: value를 추가함. value의 패키지 이름을 제외한 단순 클래스 이름을 모델 이름으로 사용함.
: value가 배열이거나 컬렉션인 경우 첫 번째 원소의 클래스 이름 뒤에 "List"를 붙인 걸 모델 이름으로 사용함.
<출처>
https://galid1.tistory.com/504
'spring' 카테고리의 다른 글
[ Spring ] 스프링 프로젝트의 JDBC 연결 (0) | 2022.07.08 |
---|---|
[ Spring ] 스프링 커넥션 풀(Connection pool) (0) | 2022.07.08 |
[ Spring ] 스프링 MVC 웹서비스 (0) | 2021.11.22 |
[ Spring ] 스프링 웹 프로그래밍 설계 모델 (0) | 2021.11.20 |
[ Spring ] 스프링 설정파일 (XML 파일을 JAVA 파일로 변경하기) (0) | 2021.11.17 |