-
@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.'웹 개발 > Java, Spring' 카테고리의 다른 글
[ 스프링 퀵 스타트 -채규태 지음 ] 완독 시작 (0) 2023.07.21 jdbcTemplate vs mybatis vs JPA (0) 2023.06.26 Spring Bean (0) 2022.08.07 controller에서 jsonView 로 리턴하는 법 (0) 2022.07.31 import org.springframework.ui.Model; (0) 2022.04.12