반응형
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- \$은 EL을 텍스트상으로 그냥 표현하기 위해서 쓰입니다. -->
	\${ 1 + 5 } = ${1 + 5} <br> <!-- 더하기 연산 -->
	\${ 6 - 5 } = ${6 - 5} <br> <!-- 빼기 연산 -->
	\${ 8 * 5 } = ${8 * 5} <br> <!-- 곱하기 연산 -->
	\${ 1 / 5 } = ${1 / 5} <br> <!-- 나누기 연산 -->
	\${ 11 % 5 } = ${11 % 5} <br> <!-- 나머지 연산 -->
	-----------------------------<br>
	\${ 5 = 5 } = ${5 == 5} <br> <!-- 같다 관계연산 -->
	\${ 1 < 5 } = ${1 < 5} <br> <!-- < 관계연산 -->
	\${ 1 > 5 } = ${1 > 5} <br> <!-- > 관계연산 -->
 	\${ 1 => 5 } = ${1 >= 5} <br> <!-- => 관계연산 -->
	\${ 1 <= 5 } = ${1 <= 5} <br> <!-- <= 관계연산 -->
	-----------------------------<br>
	\${ 5 >= 5 && 5 <= 5 } = ${5 >= 5 && 5 <= 5} <br> <!-- and 논리연산 -->
	\${ 5 >= 5 || 5 <= 2 } = ${5 >= 5 || 5 <= 2} <br> <!-- or 논리연산 -->
	\${ !(5 > 5) } = ${!(5 > 5)} <br> <!-- not 논리연산 -->

	\${empty "abc"} = ${empty "abc"} <!-- .empty -->
</body>
</html>

JSP 스크립트의 구성요소와 HTML 태그를 혼합해서 코딩하다보면 복잡하고 이해하기 어려운 경우가 발생합니다.

표현 언어 표준 태그 라이브러리를 사용하면 이러한 문제를 쉽게 해결 할 수 있습니다.


먼저 EL에 대해서 알아보도록 하겠습니다.  JSP의 <%= =>표현식을 대신합니다.

 

📝표현 언어 (EL)

 

JSP 스크립트 구성요소중 표현식(<%= =>)을 대신해 줍니다.

기본 문법 ${표현 할 내용} 또는 #{표현 할 내용} 입니다.

 

 

$와 #의 차이는 저도 잘 모르겠습니다.

제가 알아본 바로는 $ ${4} , ${3 + 2} 는 되는데 ##{3 + 2}는 되고 #{4}는 안 됩니다.

 

우리가 지금까지 사용해 왔던 연산들을 쓰시고 변수가 있으면 변수로도 계산 가능한 말 그대로 표현식입니다.

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%
	session.setAttribute("cust_id","admin");
	session.setAttribute("cust_name","관리자");
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form name = "login_form" method = "POST" action = "./EL_form_request.jsp">
		<table>
			<tr>
				<th> 아 이 디 </th>
				<th>
					<input type = "text" name = "cust_id" size = "10" maxlength = "10">
				</th>
			</tr>
			<tr>
				<th> 이 름 </th>
				<th>
					<input type = "text" name = "cust_name" size = "10" maxlength = "10">
				</th>
			</tr>
			<tr>
				<td colspan="2" style="text-align:center">
					<input type = "submit" value = "전송">
				</td>
			</tr>
		</table>
	</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%
	request.setCharacterEncoding("UTF-8");
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

${cust_id}<br>
${cust_name}<br>

내장객체 sessionScope(cust_id) : ${sessionScope.cust_id}<br>
내장객체 sessionScope(cust_name) : ${sessionScope.cust_name}<br>

내장객체 param(cust_id) : ${param.cust_id}<br>
내장객체 param(cust_name) : ${param.cust_name}

</body>
</html>

 

request.getParameter를 안 해도 ${cust_id}를 통해 바로 가져올 수가 있습니다. (여기에선 session영역)

또한 pageScope, requestScope, sessionScope, applicationScope도 사용이 가능합니다.

param과 paramaValues로 값과 값들을 가져올 수 있습니다. 

param의 경우 넘어온 값들이 저장 되어 있습니다.

반응형