728x90
표현 언어의 산술 연산자
1. elTest2.jsp 파일 작성
<%-- elTest2.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>
<h2>여러 가지 산술 연산자</h2>
<h1>
\${10+10} : ${10+10}<br>
\${20-10} : ${20-10}<br>
\${10*10} : ${10*10}<br>
\${100/9} : ${100/9}<br>
\${100 div 9} : ${100 div 9}<br> <%-- div를 사용해 나누기 연산 --%>
\${100 % 9} : ${100 % 9}<br>
\${100 mod 9} : ${100 mod 9}<br> <%-- mod를 사용해 나누기 연산 --%>
</h1>
</body>
</html>
나누기 연산을 하려면 div를 사용하고, 나머지 연산을 하려면 mod를 사용한다.
2. http://localhost:8090/pro14/elTest2.jsp로 요청하여 결과 확인
표현 언어에서 나누기 연산 시 나누어지지 않으면 소수점 이하까지 표시한다.
표현 언어의 비교 연산자
- 값이 같은지 비교할 때는 == 또는 eq 연산자를 사용
- 값이 같지 않은지 비교할 때는 != 또는 ne 연산자를 사용
- 대소 비교 시 >와 < 연산자 그리고 gt와 lt도 각각 연산자로 사용이 가능
- 대소 및 동등 비교를 동시에 할 때는 >=와 <= 연산자 그리고 ge와 le도 각각 연산자로 사용이 가능
1. elTest3.jsp 파일 작성
<%-- elTest3.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>
<h2>여러 가지 비교 연산자</h2>
<h3>
\${10==10} : ${10==10} <br>
\${10 eq 10} : ${10 eq 10} <br><br>
\${"hello" == "hello"} : ${"hello" == "hello"} <br>
\${"hello" eq "hello"} : ${"hello" eq "hello"} <br><br>
\${20!=10} : ${20!=10}<br>
\${20 ne 10} : ${20 ne 10}<br><br>
<%-- 문자열이 서로 다른지 비교할 때는 !=나 ne 연산자를 사용 --%>
\${"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} <br><br>
</h3>
</body>
</html>
2. http://localhost:8090/pro14/elTest3.jsp로 요청하여 실행 결과 확인
표현 언어의 논리 연산자
- && 연산자나 and 연산자는 논리곱 연산
- || 연산자나 or 연산자는 논리합 연산
- ! 연산자나 not 연산자는 반대의 결과를 출력
1. elTest4.jsp 파일 작성
<%-- elTest4.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>
<h2>여러 가지 논리 연산자</h2>
<h2>
\${(10==10) && (20==20)} : ${(10==10) && (20==20)} <br> <%-- 연산자 양쪽 값이 true일 때만 true를 반환 --%>
\${(10==10) and (20!=20)} : ${(10==10) and (20!=20)} <br><br>
\${(10==10) || (20!=30)} : ${(10==10) || (20!=30)} <br> <%-- 연산자 양쪽 값 중 하나라도 true면 true를 출력 --%>
\${(10!=10) or (20!=20)} : ${(10!=10) or (20!=20)} <br><br>
\${!(20==10)} : ${!(20==10)}<br> <%-- 비교 연산자의 결괏값이 false이므로 true를 출력 --%>
\${not (20==10)} : ${not (20==10)} <br><br>
\${!(20!=10)} : ${!(20!=10)} <br> <%-- 비교 연산자의 결괏값이 true이므로 false를 출력 --%>
\${not(20!=10)} : ${not(20!=10)} <br><br>
</h2>
</body>
</html>
2. http://localhost:8090/pro14/elTest4.jsp로 요청하여 실행 결과 확인
표현 언어의 empty 연산자
empty 연산자는 자바 빈의 속성이 값으로 설정되었는지 또는 List, Map 같은 저장 객체에 값(객체)이 존재하는지를 판단하는 연산자이다.
1. elTest5.jsp 파일 작성
<%-- elTest5.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
isELIgnored="false"
import="java.util.*"
pageEncoding="UTF-8"%>
<jsp:useBean id="m1" class="sec01.ex01.MemberBean" scope="page" /> <%-- 유즈빈(useBean)을 생성 --%>
<jsp:setProperty name="m1" property="name" value="이순신" /> <%-- 빈의 name 속성에 값을 설정 --%>
<jsp:useBean id="m2" class="java.util.ArrayList" scope="page" /> <%-- ArrayList 객체를 빈으로 생성 --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>표현언어의 여러 가지 연산자들</title>
</head>
<body>
empty 연산자
<h2>
\${empty m1 } : ${empty m1 }<br> <%-- m1의 name 속성에 값이 설정되어 있으므로 false를 반환 --%>
\${not empty m1 } : ${not empty m1 }<br><br> <%-- true를 반환 --%>
\${empty m2 } : ${empty m2 }<br> <%-- ArrayList 객체인 m2는 비어 있으므로 true를 반환 --%>
\${not empty m2 } : ${not empty m2 }<br><br> <%-- false를 반환 --%>
\${empty "hello"} : ${empty "hello"}<br> <%-- 문자열에 대해 false를 반환 --%>
\${empty null} : ${empty null}<br> <%-- null은 true를 반환 --%>
\${empty ""} : ${empty ""} <br> <%-- 빈 문자열은 true를 반환 --%>
</h2>
</body>
</html>
<useBean> 액션 태그로 생성한 빈 m1은 생성 후 name 속성에 값을 설정했기 때문에 empty 연산자를 적용하면 false를 반환한다.
<useBean> 액션 태그로 생성한 빈 m2는 생성 후 아무 값도 저장하지 않았기 때문에 empty 연산자를 적용하면 true를 반환한다.
2. http://localhost:8090/pro14/elTest5.jsp로 요청하여 결과를 확인
728x90
'웹 개발 기초 > 자바 웹을 다루는 기술' 카테고리의 다른 글
param 내장 객체 사용 실습 (0) | 2023.03.01 |
---|---|
표현 언어 내장 객체(내장 변수) 종류 (0) | 2023.03.01 |
JSP에서 표현 언어 사용 실습 (0) | 2023.03.01 |
JSP 표현 언어 (0) | 2023.03.01 |
setProperty/getProperty 액션 태그를 이용한 회원 정보 조회 실습 (0) | 2023.03.01 |