EL(Expression Language)
표현식을 중심으로 코드를 기술하는 언어
데이터를 출력하는 코드를 함축적이고 간결하게 구사
-> 코드의 가독성과 유지보수 용이성 향상
연산자와 피연산자의 조합을 '${'와 '}'로 둘러싸서 표현
예)
<%=sum%> -> ${sum}
표현식에서 sum은 변수
EL에서 sum은 attribute 이름
1. 페이지 내 데이터 전달
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
int sum = 0;
for(int i = 0; i <= 100; i++){
sum += i;
}
//pageContext 기본 객체를 사용하여 페이지 내 데이터 전달 방식.
pageContext.setAttribute("sum", sum);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>데이터 전달</title>
</head>
<body>
<h3>EL을 사용한 페이지 내 데이터 전달</h3>
1부터 100까지의 합은 ${sum}
</body>
</html>
- 페이지 내의 데이터 전달방식
${sum}의 속성은 pageContext.setAttribute("sum", sum);의 문자열 "sum"으로 데이터 전달이 된다
2. 페이지 이동 데이터 전달
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
int sum = 0;
for(int i = 0; i <= 100; i++){
sum += i;
}
//sum에 저장된 데이터를 target.jsp로 보내기
request.setAttribute("result", sum);
session.setAttribute("result", sum);
pageContext.forward("target.jsp");
%>
1부터 100까지의 합을 request와 session형태로
pageContext.forward를 활용하여 target.jsp에 데이터 전송
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>결과 페이지</title>
</head>
<body>
request : 1부터 100까지의 합은 ${requestScope.result}<br>
session : 1부터 100까지의 합은 ${sessionScope.result}
<%
response.sendRedirect("target2.jsp");
%>
</body>
target.jsp▲
결과페이지
1부터 100까지의 합을
request와 session의형태로 출력한 값을
response.sendRedirect 로 target2.jsp 에 또한번 데이터 전송
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>target2.jsp입니다</h3>
request : 1부터 100까지의 합은 ${requestScope.result}<br>
session : 1부터 100까지의 합은 ${sessionScope.result}
</body>
</html>
target2.jsp에서 받아온 데이터를 request와 session형태로 출력
request형태는 출력되지않고 sesssion형태만 출력된 모습▲
request:attribut를 사용할 수 있는 기본 객체
// 1. pageContext - 가장 작은 범위. 페이지 내에서만.
// 2. request - 1~2 페이지 범위.
// 3. session - 한 접속자에게 제공되는 모든 페이지.
// 4. applocation - 모든 접속자에게 제공되는 모든 페이지.
JSP - JSTL 서버에 데이터 전달2(회원정보입력) (0) | 2020.06.11 |
---|---|
JSP - 서버에 데이터 전달(상품 정보 입력) (0) | 2020.06.11 |
JSP - 오류페이지 (0) | 2020.06.10 |
JSP - 사칙연산 (0) | 2020.06.10 |
JSP - session 세션 (로그인 / 로그아웃) (0) | 2020.06.10 |