EL 표현식이란
Expression Language 표현식이라고도 부른다
기존에 사용했던 표현식(출력식) : <%= 변수/ 메소드 호출%>
위에 표현식과 비슷하게 JSP상에 표현하고자 하는 값을 작성하는 방법
EL 표현식 : $ {변수 / 메소드 } 형식으로 작성한다
index.jsp 파일
-
*index.파일 -
web.xml 파일에 welcome=file로 등록이 되어있다
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>default.htm</welcome-file>
</welcome-file-list>
</web-app>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>EL Action tag</title>
</head>
<body>
<h1> JSP 문법</h1>
<h2>* EL(Expression language) 표현식</h2>
<h4><a href="el.do">[1] EL 기본구문</a></h4>
<h4><a href="operator.do">[2] EL 연산자</a></h4>
</body>
</html>
<h4><a href="el.do">[1] EL 기본구문</a></h4>
el.do : servlet으로 요청
Setvlet : 동적 페이지
클라이언트의 요청을 처리하고 응답을 생성하는 역할을 한다
애플리케이션의 비즈니스 로직을 구현 클라이언트의 요청을 처리
데이터베이스와 상호작용을 하는 작업을 수행한다.
@WebServlet("/el.do") path 설정을 servlet에서 직접 설정이 가능하다
RequestDispatcher를 통해서 응답페이지를 지정 후
그 요청 결과를 보여준다
request.getRequestDispatcher("views/1_EL/01_el.jsp").forward(request, response);
EL 표현식을 이용하여 get 메소드를 사용하지 않고
키값만 제시하면 바로 접근이 가능하다
기본적으로 EL은 JSP 내장객체를 구분하지 않고 모든 내장 객체의
키값을 검색하여 존재하는 경우 그 값을 가지고 온다
String classRoom = (String)request.getAttribute("classRoom");
Person student = (Person)request.getAttribute("student");
getAttribute("키값");
getAttribute를 통해서 키값에 담긴 데이터를 조회한다
이때 object 타입이므로 해당 데이터에 맞게 형변환을 해줘야된다
기존 EL문을 사용하지 않고 구문을 출력 시
<%= %> 을 통해서 출력을한다
강의장 : <%=classRoom %> <br>
학원 : <%=academy %> <br>
강사 : <%=teacher.getName() %>,
<%= teacher.getAge() %>,
<%= teacher.getGendet()%> <br>
EL문을 사용해서 출력 :
학원 : ${academy} <br>
강의장 : ${classRoom} <br> = 키값만을 통해서 직접 꺼낼 수 있다
강사 : ${teacher.name}, ${teacher.age}, ${teacher.gendet}<br>
학생정보
${student.name}, ${student.age}, ${student.gendet}
</p>
만일 동일한 키값으로 저장된 데이터를 확인 시
scope 값 : ${scope}
EL은 공유범위가 가장 작은 scope 부분에 해당하는 키를 찾아준다.
(키값만을 검색한다)