JSP day17
EL표현식
EL표현식
EL표현식이란 JavaBeans의 프로퍼티, 값, 액션태그등을 쉽고 간결하게 사용할 수 있도록하는 기술이다.
${} : get의 기능을 수행, request, session, application 등 영역값을 가져옴(JSP가 실행될 때 증시 반영) #{} : set의 기능을 수행(시스템에서 필요하다고 판단될 때 값을 사용)
산술연산자
${10 + 2}
${10 - 2}
${10 * 2}
${10 div 2} // 나누기
${10 mod 2} // 나머지
비교연산자
${10 eq 2} // 같다
${10 ne 2} // 다르다
${10 gt 2} // 크다
${10 lt 2} // 작다
${10 ge 2} // 크거나 같다
${10 le 2} // 작거나 같다
논리연산자
${true and true} // and
${true or true} // or
${not true} // !
변수
pageScope(pageContext) : 현재 페이지
requestScope(request) : 전달 받은 값을 저장하는 변수
sessionScope(session) : 서버(메모리)에 저장되는 변수, 개개인의 정보
applicationScope(application) : 전역 변수
EL표현식 예제
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
pageContext.setAttribute("userid", "pageContext 영역의 변수");
request.setAttribute("userid", "request 영역의 변수");
session.setAttribute("userid", "session 영역의 변수");
application.setAttribute("userid", "application 영역의 변수");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>el(표현 언어)</title>
</head>
<body>
<h2>el(표현언어)</h2>
<p><%=pageContext.getAttribute("userid")%></p>
<p><%=request.getAttribute("userid")%></p>
<p><%=session.getAttribute("userid")%></p>
<p><%=application.getAttribute("userid")%></p>
<hr>
<p>el default : ${userid}(pageContext)</p>
<p>el pageScope : ${pageScope.userid}</p>
<p>el requestScope : ${requestScope.userid}</p>
<p>el sessionScope : ${sessionScope.userid}</p>
<p>el application : ${applicationScope.userid}</p>
<hr>
<p>덧셈 : ${10+20}</p>
<p>뺄셈 : ${20-10}</p>
<p>곱셈 : ${10*20}</p>
<p>나누기 : ${10 div 20}</p>
<p>나머지 : ${35 mod 20}</p>
<hr>
<p>같다 : ${10 eq 10}</p>
<p>다르다 : ${10 ne 10}</p>
<p>작다 : ${10 lt 10}</p>
<p>크다 : ${10 gt 10}</p>
<p>작거나 같다 : ${10 le 10}</p>
<p>크거나 같다 : ${10 ge 10}</p>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:useBean id="test" class="com.koreait.el.Eltest"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>자바 클래스를 활용한 el 문법</title>
</head>
<body>
<h2>자바 클래스를 활용한 el 문법</h2>
<p>test.getStr() : ${test.getStr()}</p>
<p>test.setStr("Hello El!") ${test.setStr("Hello El!")}</p>
<p>test.getStr() : ${test.getStr()}</p>
<p>test.sum(10, 5) : ${test.sum(10, 5)}</p>
</body>
</html>
package com.koreait.el;
public class Eltest {
public String str = "el의 문자열 변수";
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public int sum(int num1, int num2) {
return num1 + num2;
}
}
이렇게 JavaBeans를 보다 간단하게 사용할 수 있다.