Back-end/JSP & Servlet

JSP EL(Expression Language)

@Eeap 2022. 7. 12. 22:34
반응형
EL 사용

이전까지는 jsp파일에서 request에서 getAttribute를 통해 값을 꺼내서 코드블록으로 값을 화면에 띄웠는데

EL방식을 이용하면 코드블록을 사용하지 않고도 view코드를 작성할 수 있다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
	<%=request.getAttribute("model") %>입니다. //원래 코드블록 방식
    ${model}
    <%=((List)request.getAttribute("lists")).get(0)%> // list를 불러올때 원래 코드블록 방식
	${lists[0]}
	
</body>
</html>

 

EL 의 데이터 저장소
  • pageContext - page내에서 사용할 수 있는 저장소
  • request
  • session
  • application

page > request > session >application 순으로 값을 꺼내오기 때문에 같은 name을 가진 변수를 불러올땐 이 우선순위를 따른다.

하지만 특정한 한 위치에 있는 저장소에서 불러오기 위해선 내장 객체를 이용하면 된다

${pageScope.test}
${requestScope.test}
${sessionScope.test}
${applicationScope.test}

그 이외에도 param, paramValues, header, cookies 등 다양한 내장 객체들이 있다.

※ pageContext 사용법

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

<meta charset="UTF-8">

</head>
<%
pageContext.setAttribute("test", "Test1");
%>
<body>
	${test}
</body>
</html>

 

EL 연산자
  • [] .
  • ()
  • not ! empty    (empty는 null인지 빈문자열인지 판단해주는 조건문 같은 역할)
  • * / div % mod
  • + -
  • < > <= >= lt gt le ge
  • ==  !=  eq  ne
  • &&  and
  • ||  or
  • ?  :

 

 

반응형