본문 바로가기

웹개발/JSP

EL(Expression Language: 표현 언어)

- 표현식 또는 액션 태그를 대신해서 '값'을 표현하는 언어

- Java도 아니고, JSP도 아님. JSP를 보완하는 스크립트 언어

- 장점 : 자바코드로 나타내기 번거로운 값(특히 속성값)의 표현을 단순화. -> 액션태그, JSTL 등과의 조합에서도 코딩 간결

 

 

<%= value %>          - - - - - >          ${ value}

                                                                    ㄴ> EL

 

 

EL의 기본 구문

${식}

- JSP의 스크립트 요소(스크립트릿, 표현식, 선언부)를 제외한 나머지 부분에서 사용될 수 있음

 

 

 

액션태그로 사용되는 EL

- EL로 스크립트릿의 Java 변수값 표현은 안되나, 액션태그 등의 값은 출력 가능

<jsp: getProperty name = "member" property="name"/>

      ㄴ>  ${ member.name }

             : member.getName() 값을 표현하게 됨.

- 예제

더보기
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="com.lec.beans.*" %>
<jsp:useBean id="dto" class="com.lec.beans.WriteDTO"/>
<jsp:setProperty name="dto" property="uid" value="123"/>
<jsp:setProperty name="dto" property="subject" value="제목입니다"/>
<jsp:setProperty name="dto" property="name" value="작성자입니다"/>

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>EL - ActionTag</title>
</head>
<body>
	uid : <%= dto.getUid() %><br>
	제목 : <%= dto.getSubject() %><br>
	작성자 : <%= dto.getName() %><br>
	내용 : <%= dto.getContent() %><br>
	<hr>
	
	uid : <jsp:getProperty name="dto" property="uid"/><br>
	제목 : <jsp:getProperty name="dto" property="subject"/><br>
	작성자 : <jsp:getProperty name="dto" property="name"/><br>
	<hr>
	
	uid : ${dto.uid }<br>	<%-- dto.getUid() --%>
	제목 : ${dto.subject }<br>
	작성자 : ${dto.name }<br>
	내용 : ${dto.content }<br>	<%-- null 이면 표현 안함 --%>
	<hr>
	
<%-- 	<%
		request
		response
		session
		out
	%> --%>
</body>
</html>

<결과>

 

 

 

EL의 내장 객체

: 11개의 기본 내장 객체를 제공. 값이 존재하지 않을 경우 null을 출력하지 않고 아무것도 출력하지 않음.

  1. pageContext  
  2. pageScope   
  3. requestScope
  4. sessionScope
  5. applicationScope
  6. param    -       요청 파라미터의 <파라미터이름, 값> 매핑을 저장한 Map 객체, 타입은 String(request.getParameter(이름)의             결과와 동일 
  7. paramValues    -       request.getParameterValues(이름)의 결과와 동일
  8. header
  9. headerValues
  10. cookie
  11. initParam

- param, paramValues and request.getParameter(), request.getParameterValues()[];

더보기
${member} => request.getAttribute("member");
${param.name} => request.getParameter("name");
${paramValues.name} 
     => request.getParameterValues("name");
${paramValues.name[0]} 
     => request.getParameterValues("name")[0];

 

'웹개발 > JSP' 카테고리의 다른 글

JSTL(Jsp Standard Tag Library)  (0) 2022.05.09
JDBC 연동 순서  (0) 2022.03.30
javabean을 이용한 DAO, DTO 기술  (0) 2021.10.26
자바빈(JavaBean)  (0) 2021.10.19
액션태그, redirect vs. forward  (0) 2021.10.18