[ EL / JSTL ] EL(Expression Language) 기본 이해

2024. 3. 4. 19:48· LANGUAGE/└ EL | JSTL

환경 : Spring Tool Suite4

 

<공식 자료> https://docs.oracle.com/javaee/6/tutorial/doc/gjddd.html

 

 

[ EL(Expression Language), 표현 언어 ]

  • 전달받은 값을 화면에 출력하는 언어
  • ${표현식} 형식 (입력 또는 설정은 불가능)
  • 사용자가 보는 결과화면에서 확인할 수 없다 (보안이 좋음!)
  • null을 화면에 출력하지 않고 공백으로 처리
  • JSP에서만 사용 가능!
  • <%=  %>
  • < EL로 데이터를 가져오는 과정 >
    JspContext → ServletRequest → HttpSession → ServletContext
    단, Request 를 사용할 시 ServletRequest에서 현재 객체를 탐색해서 가져오게 된다

 


[ 예시 ]

   - ElJstlController.java

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

	@RequestMapping("/test01")
	public String text01(Model model) {
		model.addAttribute("a", 100);
		model.addAttribute("b", "hello");
		model.addAttribute("c", 3.14);
		return "/WEB-INF/views/eljstl/test01.jsp";
	}
}

    (+) model 객체의 addAttribute를 통해 test01.jsp에 값을 전달. 

 

  - test01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<h1>EL 출력 예제</h1>

<h2>a = ${requestScope.a}</h2>
<h2>a = ${a}</h2>
<h2 ${b}>b 출력</h2>
<h2>c = ${c}</h2>
<h2>d = ${d}</h2>

    (+) requestScope는 생략이 가능하다.


[ 'requestScope' ] 

  •  'requestScope'는 HTTP 요청이 처리되는 동안에만 유효한 범위로, 한 번의 HTTP 요청이 처리되는 동안 데이터를 유지하고 공유하는 데 사용된다. 보통 Servlet이나 JSP 페이지에서 사용자의 요청을 처리할 때, 그 요청에 대한 정보를 저장하고 전달하는 데에 활용된다.
  •  예를 들어, 클라이언트가 서버에게 어떤 데이터를 요청했을 때, 그 데이터를 서버에서 처리하고 그 결과를 requestScope에 저장하면, 해당 요청을 처리하는 중간에 다양한 서블릿이나 JSP 페이지에서 이 데이터에 접근할 수 있게 됩니다.

 

 

 

 

 

 

 

 

 

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

여러 티스토리 참고 하였습니다.

728x90