티스토리 뷰

JSP

[JSP]표현 언어

dev23 2024. 8. 15. 14:24
반응형

표현 언어

- 표현 언어는 자바 코드가 들어가는 표현식을 편리하게 사용하기 위해 JSP 2.0부터 도입된 데이터 출력 기능이다.

- 현재 JSP 페이지는 스크립트 요소보다는 표현 언어(EL,Expression Language) JSTL(JSP Standard Tag Library)
사용해서 구현한다.

- 자바 코드가 복잡해짐에 따라 JSP 2.0부터는 자바 코드로  출력하는 표현식을 대체하기 위해 표현언어라는 것이
등장했다.

 

특징

  • 기존 표현식보다 편리하게 값을 출력한다.
  • 변수와 여러 가지 연산자를 포함할 수 있다.
  • JSP의 내장객체에 저장된 속성 및 자바의 빈 속성도 표현 언어에서 출력할 수 있다.
  • 표현 언어 자체 내장 객체도 제공된다.
  • JSP 페이지 생성 시 기본 설정은 표현 언어를 사용할 수 없다.
  • 페이지 디렉티브 태그에서는 반드시 isELIgnored="false" 로 설정해야 한다.

형식

${표현식 또는 값}

사용 가능 자료형

- , 정수, 실수, 문자열,

연산자

  • 산술 :  +, -, *, / 또는 div, % 또는 mod
  • 비교 : == 또는 eq,  != 또는 ne,  < 또는 lt,  > 또는 gt  <= 또는gt,  >= 또는 ge
  • 논리 : && 또는 and, || 또는 or, ! 또는 not
  • empty : empty<값> - <값>이 null 이거나빈 문자열이면 true를 반환

 

표현 언어 테스트

- JSP에서 표현 언어를 사용해 본다.

 

* elTest1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>표현 언어에서 사용되는 데이터들</title>
</head>
<body>
	<h1>표현언어로 여러 가지 데이터 출력하기</h1>
	<h1>
		\${100 } : ${100 }<br>
		\${"안녕하세요" } : ${"안녕하세요"}<br>
		\${10+1 } : ${10+1 }<br>
		\${"10"+1 } : ${"10" + 1}<br>
	</h1>
</body>
</html>

- 문자열과 숫자를 더하면 자동으로 숫자로 변환해 합을 구하고, null과 숫자를 더하면 null은 0으로 인식한다.

 

출력 결과

 

산술 연산

* elTest2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>여러 가지 산술연산자</title>
</head>
<body>
        <h1>여러 가지 산술연산자</h1>
        
        <h1>\${10+10 } : ${10+10}</h1>

        <h1>\${20-10 } : ${20-10}</h1>
        
        <h1>\${10*10 } : ${10 * 10 }</h1>
        
        <h1>\${100/9 } : ${100 / 9 }</h1>
        
        <h1>\${100 div 9 } : ${100 div 9 }</h1>
        
        <h1>\${100%9 } : ${100 % 9 }</h1>
        
        <h1>\${100 mod 9 } : ${100 mod 9 }</h1>
        
</body>
</html>

 

출력 결과

 

비교 연산

- 값이 같은지 비교할 때는 == 또는 eq 연산자를 사용한다.

- 값이 같이 않은지 비교할 때는 != 또는 ne 연산자를 사용한다.

- 대소 비교 > < 연산자 그리고 gt와 lt 각각 연산자로 사용할 있다.

- 대소 동등 비교를 동시에 때는 >= <= 연산자 그리고 ge와 le 각각 연산자로 사용할 있다.

 

* elTest3.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>비교 연산자</title>
</head>
<body>
	<h2>여러 가지 비교 연산자</h2>
	<h3>
		\${10 == 10 } : ${10 == 10 }<br>
		\${10 eq 10 } : ${10 eq 10 }<br>
		\${"hello" eq "hello" } : ${"hello" eq "hello" }<br><br>
		
		\${20 != 10 } : ${20 != 10 }<br>
		\${20 ne 10 } : ${20 ne 10 }<br><br>
		
		\${"hello" != "apple" } : ${"hello" != "apple" }<br>
		\${"hello" ne "apple" } : ${"hello" ne "apple" }<br><br>
		
		\${10 < 10 } : ${10 < 10 }<br>
		\${10 lt 10 } : ${10 lt 10 }<br><br>
		
		\${100 > 10 } : ${100 > 10 }<br>
		\${100 gt 10 } : ${100 gt 10 }<br><br>
		
		\${100 <= 10 } : ${100 <= 10 }<br>
		\${100 le 10 } : ${100 le 10 }<br><br>
		
		\${100 >=10 } : ${100 >= 10 }<br>
		\${100 ge 10 } : ${100 ge 10 }
	</h3>
</body>
</html>

출력 결과

 

논리 연산

- && 연산자나 and 연산자는 논리곱 연산을 한다.

- || 연산자나 or 연산자는 논리합 연산을 한다.

- ! 연산자나 not 연산자는 반대의 결과를 출력한다.

 

* elTest4.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>논리 연산자</title>
</head>
<body>
	<h2>여러 가지 논리연산자</h2>
	<h2>
		\${(10==10) && (20==20) } : ${(10==10) && (20==20) }<br>
		\${(10==10) and (20==20) } : ${(10==10) and (20==20) }<br>
		
		\${(10==10) || (20!=30) } : ${(10==10) || (20!=30) }<br>
		\${(10!=10) or (20!=20) } : ${(10!=10) or (20!=20) }<br><br>
		
		\${!(20==10) } :${!(20==10) }<br>
		\${not (20==10) } : ${not (20==10) }<br><br>
		
		\${!(20!=10) } : ${!(20!=10) }<br>
		\${not(20!=10) } : ${not(20!=10) }
	</h2>
</body>
</html>

출력 결과

empty 연산

- empty 연산자는 자바 빈의 속성이 값으로 설정되었는지 또는 List, Map 같은 저장 객체에 (객체) 존재하는지를

판단하는 연산자이다.

 

* elTest5.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
 
<jsp:useBean id="m1" class="servlet.MemberBean" scope="page" />
<jsp:setProperty name="m1" property="name" value="이순신" />
<jsp:useBean id="m2" class="java.util.ArrayList" scope="page" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>표현 언어의여러 가지 연산자들</title>
</head>
<body>
	<h1>empty 연산자</h1>
	
	<h2>
		\${empty m1 } : ${empty m1 }<br>
		\${not empty m1 } : ${not empty m1 }<br><br>
		
		\${empty m2 } : ${empty m2 }<br>
		\${not empty m2 } : ${not empty m2 }<br><br>
		
		\${empty "hello" } : ${empty "hello" }<br> <%-- 문자열에 대해 false를 반환한다. --%>
		\${empty null } : ${empty null }<br> <%-- null은 true를 반환한다. --%>
		\${empty "" } : ${empty "" } <%-- 빈 문자열은 true를 반환한다. --%>
		
	</h2>
</body>
</html>

출력 결과

 

반응형

'JSP' 카테고리의 다른 글

[JSP]표현 언어 바인딩 속성 출력  (0) 2024.08.15
[JSP]표현 언어 내장 객체  (0) 2024.08.15
[JSP]액션태그  (0) 2024.08.14
[JSP]Welcome 파일 지정  (0) 2024.08.14
[JSP]예외 처리  (0) 2024.08.14
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함