본문 바로가기
JSP 웹프로그래밍

JSP : EL 자료형, 연산자, 실습(230105)Expression Language

by haheehee 2023. 1. 5.

표현언어 (EL)

- 자바 코드가 들어가는 표현식을 좀 더 편리하게 하는 데이터 출력 방식

- 페이지 디렉티브 태그에서는 반드시 isELIgnored = false로 설정해야 한다.

${표현식 or 값}
  • / 혹은 div
  • % 혹은 mod
  • == 혹은 eq
  • != 혹은 ne
  • < 혹은 lt
  • > 혹은 gt
  • <= 혹은 le
  • >= 혹은 ge
  • && 혹은 and
  • || 혹은 or
  • ! 혹은 not
  • empty <값> : <값>이 null이거나, 빈 문자열이면 true

표현언어로 여러 가지 데이터 출력하기

<%@ 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>

jsp파일


여러가지 산술 연산자

<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>
		\${100%9} : ${100%9} <br>
		\${100 mod 9} : ${100 mod 9} <br>
	</h1>
</body>

JSP파일


여러 가지 비교 연산자

<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>
		
		\${"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>
	</h3>
</body>

JSP파일


여러 가지 논리연산자

<body>
	<h2>여러 가지 논리 연산자</h2>
	<h2>
		\${(10==10) && (20==20)} : ${(10==10) && (20==20)} <br>
		\${(10==10) and (20!=20)} : ${(10==10) and (20!=20)} <br><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)} <br><br>
	</h2>
</body>

JSP파일


여러 가지 연산자 출력해보기

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isELIgnored="false" %>
<jsp:useBean id="m1" class="expressionl.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>
	empty 연산자
	<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>
		\${empty null } : ${empty null } <br>
		\${empty ""} : ${empty "" } <br>
	</h2>
</body>
</html>

JSP파일


내장객체 - param 실습

<body>
	<form method="post" action="member1.jsp">
		<h1 style="text-align: center">회원가입창</h1>
		아이디 <input type="text" name="userId"><br>
		비밀번호 <input type="password" name="userPw"><br>
		이름 <input type="text" name="userName"><br>
		이메일 <input type="email" name="userEmail"><br>
		<input type="submit" value="가입하기">
		<input type="reset" value="다시입력">
	</form>
</body>

회원가입창 memberForm JSP파일

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isELIgnored="false" %>
<% 
	request.setCharacterEncoding("utf-8");
	String userId = request.getParameter("userId");
	String userPw = request.getParameter("userPw");
	String userName = request.getParameter("userName");
	String userEmail = request.getParameter("userEmail");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>회원 정보 출력 창</title>
</head>
<body>
	<table border="1" align="center">
		<tr align="center" bgcolor="#99ccff">
			<td width="20%"><b>아이디</b></td>
			<td width="20%"><b>비밀번호</b></td>
			<td width="20%"><b>이름</b></td>
			<td width="20%"><b>이메일</b></td>
		</tr>
		<tr align=center>
			<td><%=userId %></td>
			<td><%=userPw %></td>
			<td><%=userName %></td>
			<td><%=userEmail %></td>
		</tr>
		<tr align=center>
			<td>${param.userId }</td>
			<td>${param.userPw }</td>
			<td>${param.userName }</td>
			<td>${param.userEmail }</td>
		</tr>	
	</table>
</body>
</html>

member1 회원정보 출력 JSP 파일

${param....} 표현언어로 출력

 

memberForm파일을 서버로 실행


pageContext & requestScope 실습해보기

<body>
	<form action="result.jsp">
		아이디 : <input type="text" size=20 /><br>
		비밀번호 : <input type="password" size=20 /><br>
		<input type="submit" value="로그인">
		<input type="reset" value="다시입력">
	</form>
	<br><br>
	 <a href="${pageContext.request.contextPath}/test_el/memberForm_forward.jsp">회원가입하기</a>
</body>

login (로그인) JSP 파일 

첫실행창이다.

<body>
	<form method="post" action="forward.jsp">
		<h1 style="text-align: center">회원가입창</h1>
		아이디 <input type="text" name="userId"><br>
		비밀번호 <input type="password" name="userPw"><br>
		이름 <input type="text" name="userName"><br>
		이메일 <input type="email" name="userEmail"><br>
		<input type="submit" value="가입하기">
		<input type="reset" value="다시입력">
	</form>
</body>

회원가입 창 memberForm_forward JSP파일

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isELIgnored="false" %>
<% 
	request.setCharacterEncoding("utf-8");
	request.setAttribute("address", "대전시 서구");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>forward - 회원 정보 출력 창</title>
</head>
<body>
	<jsp:forward page="member2.jsp"></jsp:forward>
</body>
</html>

forward JSP파일

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isELIgnored="false" %>
<% 
	request.setCharacterEncoding("utf-8");
	String userId = request.getParameter("userId");
	String userPw = request.getParameter("userPw");
	String userName = request.getParameter("userName");
	String userEmail = request.getParameter("userEmail");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>회원 정보 출력 창</title>
</head>
<body>
	<table border="1" align="center">
		<tr align="center" bgcolor="#99ccff">
			<td width="20%"><b>아이디</b></td>
			<td width="20%"><b>비밀번호</b></td>
			<td width="20%"><b>이름</b></td>
			<td width="20%"><b>이메일</b></td>
			<td width="20%"><b>주소</b></td>
		</tr>
		<tr align=center>
			<td>${param.userId }</td>
			<td>${param.userPw }</td>
			<td>${param.userName }</td>
			<td>${param.userEmail }</td>
			<td>${requestScope.address }</td>
		</tr>		
	</table>
</body>
</html>

member2 회원정보 출력 JSP파일

 

로그인 (첫 실행)창

-> 회원가입하기 하이퍼링크를 누르면

회원가입창으로 이동한다. 

정보를 입력하고, 

가입하기를 누르면

입력한 정보가 출력된다.

 

 

 

 

 

(출처 : 자바 웹을 다루는 기술 (이병승, 길벗))

댓글