ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] model
    Spring 2021. 6. 8. 15:15

    model 객체란?

    -Controller 에서 생성된 데이터를 담아서 View로 전달할 때 사용하는 객체

    -Servlet의 request.setAttribute() 와 유사한 역할

     

     

    jsp의 경우

    request.setAttribute("date", new java.util.Date());
    RequestDispatcher dispatcher = request.getRequestDispatcher("url");
    dispatcher.forward(request, response);

    스프링의 경우

    public String home(Model model)
    {
    	model.addAttribute("date", new java.util.Date());
        return "home";
    }

     

     

    View에 데이터 전달하기

     

    1.Model 객체 사용

     

    model.addAttribute("key","value");

    @Controller
    public class BoardController{
    	@RequestMapping(value="/list")
        public String contentView(Model model){
        	model.addAttribute("value", "hi");
            return "list";
        }
    }

    addAttribute를 이용하여 key, value 를 이용하여 전달할 수 있다.

     

    <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="EUC-KR">
    <title>Insert title here</title>
    </head>
    	<body>
        	<%= request.getAttribute("value") %>
        </body>
    </html>

     

    2. @ModelAttribute("key") 어노테이션 사용

     

    @ModelAttribute 어노테이션이 부여된 메소드가 리턴하는 객체를 view로 바로 넘겨 사용할 수도 있다.

    @Controller
    public class BoardController{
    	@ModelAttribute("value")
        public String contentView(){
        
            return "pass to list";
        }
    }

    해당 어노테이션 안의 "value" 가 값을 가져오는데 사용되는 key

    contentView() 메소드가 return 하는 객체가 value 가 되고 view에 전달된다.

    728x90
    반응형

    'Spring' 카테고리의 다른 글

    [Spring] RedirectAttributes  (0) 2021.06.21
    Maven 이란?  (0) 2021.01.11
    [Spring Security] 스프링시큐리티의 기본 개념과 구조  (1) 2020.12.01
    Spring MVC 패턴  (1) 2020.10.25
    Spring에 커넥션풀(Connection Pool) 등록 - HikariCP  (1) 2020.10.24

    댓글

Designed by Tistory.