Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- db
- 개발자
- nginx
- 인덱스
- 신입
- 슬픔의 후에
- 장범준
- 말 더듬
- 니가 참 좋아
- 아이유
- index
- 스위트라떼
- Inside Of Me
- 봄 사랑 벚꽃 말고
- IT
- 러블리즈
- DBMS
- oracle
- 오라클
- 악보
- 기타
- DBMS 구성요소
- 핑거스타일
- 천공의 시간
- 데이터베이스
- 6학년 8반 1분단
- SQL 처리
- 레이디스코드
- I'm fine thank you
- 오라클 아키텍처
Archives
취미로 음악을 하는 개발자
[Spring Boot] Model 객체 본문
728x90
Model 객체
- 모델은 HashMap 형태를 갖고 있으므로 key값과 value값처럼 사용할 수 있다.
- addAttribute는 Map의 put과 같은 기능과 같아서 이를 통해 해당 모델에 원하는 속성과 그것에 대한 값을 주어 전달할 뷰에 데이터를 전달할 수 있다.
프로젝트 생성
* 이전 포스트의 내용을 그대로 갖고와서 일부만 수정하면 된다. (build.gradle와 application.properties 부분도 꼭 복사하길 바란다.)
코드 구현
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | package com.study.springboot; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; @Controller public class MyController { @RequestMapping("/") public @ResponseBody String root() throws Exception{ return "Model & View"; } @RequestMapping("/test1") // localhost:8081/test1 public String test1(Model model) { // Model 객체를 이용해서, view로 Data 전달 // 데이터만 설정 가능 model.addAttribute("name", "홍길동"); return "test1"; // 실제 호출 될 /WEB-INF/views/test1.jsp } @RequestMapping("/mv") public ModelAndView test2(Model model) { // 데이터와 뷰를 동시에 설정 가능 ModelAndView mv = new ModelAndView(); List<String> list = new ArrayList<>(); list.add("test1"); list.add("test2"); list.add("test3"); mv.addObject("lists", list); // jstl로 호출 mv.addObject("ObjectTest", "테스트"); // jstl로 호출 mv.addObject("name", "홍길동"); // jstl로 호출 mv.setViewName("view/myView"); // 실제로 호출될 /WEB-INF/jsp/view/myView.jsp return mv; } } | cs |
/
String 그대로 리턴이 됨
/test1
모델 객체에 데이터를 저장, name이라는 속성에 홍길동이라는 값을 넣어준 것
이것을 test1.jsp를 통해 호출
/mv
(아직까지는 ModelAndView를 왜 쓰는지 모르겠다. 그냥 데이터를 View에다가 전달하는 것과 뭐가 다를까..)
ModelAndView로 데이터를 만들어서 직접 뷰를 만듬
list를 만들고 값을 넣어줬고, mv에 속성과 값들을 넣어주었다.
이것을 myView.jsp를 통해 호출
// test1.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% out.println("Hello World"); %> <br> 당신의 이름은 ${name } 입니다. </body> </html> | cs |
// myView.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% out.println("Model(sub) : Hello World"); %> <br> ${ObjectTest } <br> ${lists} <br> <br> <c:forEach var="mylist" items="${lists }"> ${mylist }<br> </c:forEach> <br> <br> 당신의 이름은 ${name }입니다. </body> </html> | cs |
(c 타입에 대해서는 나중에 따로 포스트를 만들어 보겠다.)
* 앞으로의 포스트에서는 기본적으로 build.gradle과 application.properties, webapp 폴더 등은 이전 포스트 프로젝트의 파일들을 복사해서 갖고 올 것이다.
'공대인 > Spring[Boot]' 카테고리의 다른 글
[String Boot] lombok (0) | 2019.08.02 |
---|---|
[Spring Boot] Form (0) | 2019.07.31 |
[Spring Boot] 정적 리소스 (0) | 2019.07.31 |
[Spring Boot] 의존 주입 방법 (0) | 2019.07.29 |
Spring Boot 개념 정리 시작 (0) | 2019.07.29 |
Comments