ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • @ModelAttribute
    웹 개발/Java, Spring 2022. 6. 5. 01:11

    1. controller

    @Controller
    public class TestController{
        @RequestMapping(value="/test.do")
        public void doTest(@ModelAttribute TestModel testModel){
                System.out.println("은행 명:"+testModel.getBankNm());
                System.out.println("계좌 번호:"+testModel.getAccountNum());
                return "test";
        }
    }

     

    2. model

    @Getter
    @Setter
    public class TestModel{
    	private String bankNm;
        private Sttring accountNum;
    }

     

    3. jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    !DOCTYPE html>
    <html>
    <head>
      <meta charset="EUC-KR">
      <title>계좌 목록</title>
    </head>
    <body>
    	<h3>${testModel.getBankNm()}</h3>  <!--TestModel의 get메소드를 직접 호출-->
        <h3>${testModel.bankNm}</h3>      <!-- 자동으로 get이 호출되어 변수 접근가능-->
    	<h3>${testModel.accountNum}</h3>
    </body>
    </html>

     

    4.  @ModelAttribute  요약


    1. 객체에  http로 넘어온 값들을 자동으로 바인딩한다. 
        예)  /tes.do? bankNm=국민&accountNum=110234568   =>  setter를 통해 각각의 변수에 바인딩됨.

    2. @ModelAttribute 어노테이션이 붙은 객체가 자동으로 Model 객체에 추가되고 jsp단까지 전달된다.

    3. jsp에서는   ${testModel.bankNm}   ..이런식으로 사용 가능.
        ${testModel.getBankNm}  => 이런식으로 get메소드를 호출하여 사용 필요 x.

     

Designed by Tistory.