· LANGUAGE/└ EL | JSTL

[ EL / JSTL ] EL의 추론

감자도리22 2024. 3. 5. 21:07

환경 : Spring Tool Suite4

 


[ EL의 추론 기능 ]

  • ${dto.productName} 이라고 하면 자동으로 dto.getProductName()으로 변경
  • 객체에 Getter 메소드가 없다면 에러 발생


[ 사용 예 ] [ Model에 객체가 담겨오는 경우 ]

  - ElJstlController.java

@Controller
@RequestMapping("/el-jstl")
public class ElJstlController {

	@RequestMapping("/test02")
	public String text02(Model model) {
		//객체 추가
		ProductDto dto = new ProductDto();
		dto.setProductId(51);
		dto.setProductName("laptop1234");
		dto.setProductCategory("컴퓨터");
        	dto.setProductPrice("1500000");
		model.addAttribute("dto", dto);
		return "/WEB-INF/views/eljstl/test02.jsp";
	}
    
}

    (+) Dto 객체를 생성하고 해당 컬럼들에 데이터를 삽입

 

 - test02.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    
<h1>Model에 객체가 담겨오는 경우</h1>

<h2>제품 번호 = ${dto.productId}</h2>
<h2>제품 이름 = ${dto.productName}</h2>
<h2>제품 종류 = ${dto.productCategory}</h2>

    (+) ${dto.getProductId()}로 Getter 메소드를 불러와도 되지만, ${dto.productId}로 필드 명을 불러와도 된다.

         └ 필드명을 부른다는 것이 필드를 부르는 것이 아니라, 자동으로 Getter 메소드를 가져오게 "추론"을 해주는 것이다.

 

 

 

 

 

 

개인 공부 기록용입니다:)

728x90