EL

김민성·2022년 7월 14일
0

JSP

목록 보기
8/9
post-thumbnail

EL문 (Expression Language)

값을 간결하고 간편하게 출력할 수 있도록 해주는 언어. ${ } 의 형식으로 사용한다.

EL의 연산자

  • EL문에서는 연산자도 사용 가능하다.

    연산자연산부호
    /div
    %mod
    &&and
    ||or
    !not
    >gt
    <lt
    >=ge
    <=le
    ==eq
    !=ne
  • empty 연산자

    뒤에 올 값이 비어있으면 true, 아니라면 false

    ${empty data} <!-- data의 값이 없으면 true -->

EL의 내장 객체

  • ${pageScope} : page Scope에 접근하기 위한 객체
  • ${requestScope} : request Scope에 접근하기 위한 객체
  • ${sessionScope} : session Scope에 접근하기 위한 객체
  • ${applicationScope} : application Scope에 접근하기 위한 객체
  • ${param} : 파라미터 값을 가져오기 위한 객체
  • ${header} : 헤더 값을 가져오기 위한 객체
  • ${cookie} : 쿠키 값을 가져오기 위한 객체
  • ${initParam} : JSP 초기 파라미터를 가져오기 위한 객체
  • ${pageContext} : pageContext 객체에 접근하기 위한 객체
<!-- ..생략.. -->
<body>
    <!-- ${2+3} : 5 출력. EL문 앞에 '\'을 써주면 연산되지 않고 문자 그대로 출력된다.-->
    \${2+3} : ${2+3}
    <!-- ${10>5} : true -->
    \${10>5} : ${10>5}
</body>
<!-- ..생략.. -->
<body>
    <%
    	// 여기서의 data는 변수명이 아니라 setAttribute() 할 때의 key값임을 주의하자
    	pageContext.setAttribute("data", "pageContext scope");
    	request.setAttribute("data", "request scope");
    	session.setAttribute("data", "session scope");
    %>
    <!-- pageContext scope -->
    \${data} : ${data}
    <!-- request scope -->
    \${requestScope.data} : ${requestScope.data}
    <!-- session scope -->
    \${sessionScope.data} : ${sessionScope.data}
</body>

setAttribute 찾는 순서 : pageContext -> request -> session -> application

<!-- ..생략.. -->
<!-- 
	어떤 페이지에서 form 으로 name="id"인 아이디 "id1234"와
	name="pw"인 비밀번호 "pw1234"와
	name="name" 인 이름 null 을 넘겨받았다고 가정
-->
<body>
    <!-- 아이디 : id1234 -->
    아이디 : ${param.id}
    <!-- 비밀번호 : pw1234 -->
    비밀번호 : ${param.pw}
    <!-- 이름 : 이름없음 -->
    <!-- 아래와 같이 삼항연산자도 사용 가능하다 -->
    이름 : ${param.name != null?param.name:"이름없음"} 
</body>

0개의 댓글