태그
#JAVA
#JSP
#JSTL
#LIBRARY
JSP EL (Expression Language)
2021년 11월 30일 03:39

이 글은 골든래빗 출판사로부터 책을 제공받아 작성했습니다.
http://www.yes24.com/Product/Goods/105016218
기본 사용법
${속성}
규칙
- 액션 태그와 함께 사용 가능
- JSTL과 함께 사용 가능
- 스크립트 요소(선언부, 표현식, 스크립틀릿)에서는 사용 불가능
표현 방식
- .(점)이나 사용
- 속성명에 특수 기호나 한글이 포함되어 있을 때는 대괄호만 사용 가능
- 대괄호를 사용할 때 속성명에는 "(큰따옴표)와 '(작은따옴표) 모두 사용 가능
예제
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setAttribute("name", "홍채민");
request.setAttribute("age", "19");
request.setAttribute("gender", "female");
%>
<h5>name : ${name }</h5>
<h5>age : ${age }</h5>
<h5>gender : ${gender }</h5>
</body>
</html>
내가 따로 작성한 객체 예제
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 다른 패키지에서 작성한 객체
Person person = new Person();
person.setName("홍채민");
person.setAge("19");
person.setGender("female");
request.setAttribute("person", person);
%>
<h5>name : ${person.name }</h5>
<h5>age : ${person.age }</h5>
<h5>gender : ${person.gender }</h5>
</body>
</html>
연산자
- 산술연산자
- +, -, * : 덧셈, 뺄셈, 곱셈
- / 또는 div : 나눗셈
- % 또는 mod: 나머지
- 비교 연산자
-
또는 gt : Greater Than (~보다 크다)
-
= 또는 ge : Greater than or Equal (~보다 크거나 같다)
- < 또는 lt : Less Than (~보다 작다)
- <= 또는 le : Less than or Equal(~보다 작거나 같다)
- == 또는 eq : EQual(같다)
- != 또는 ne : Not Equal (같지 않다, 즉 다르다)
-
- 논리 연산자
- && 또는 and : 논리 And
- || 또는 or : 논리 Or
- ! 또는 not : 논리 Not
- empty 연산자
- 값이 없을 때 true를 반환하는 연산자
예제
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setAttribute("num", 1);
request.setAttribute("num2", 2);
request.setAttribute("num3", 3);
request.setAttribute("boolean1", true);
request.setAttribute("boolean2", false);
request.setAttribute("str", null);
%>
<span>${num + num2 - num3 * num}</span>
<span>${num / num2} ${num div num2}</span>
<span>${num % num2} ${num mod num2}</span>
<span>${num > num2} ${num gt num2}</span>
<span>${num >= num2} ${num ge num2}</span>
<span>${num < num2} ${num lt num2}</span>
<span>${num <= num2} ${num le num2}</span>
<span>${num == num2} ${num eq num2}</span>
<span>${num != num2} ${num ne num2}</span>
<span>${boolean1 && boolean2} ${boolean1 and boolean2}</span>
<span>${boolean1 || boolean2} ${boolean1 or boolean2}</span>
<span>${!boolean1} ${not boolean1}</span>
<span>${empty str}</span>
</body>
</html>