반응형
<%@ 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의 경우 넘어온 값들이 저장 되어 있습니다.
반응형
'[Java] > [JSP, Servlet]' 카테고리의 다른 글
[JSP, Servlet] html파일을 jsp 변환시 깨짐 방지하는 방법 (0) | 2021.10.24 |
---|---|
[JSP, Servlet] JSTL 표준 태그 라이브러리 (0) | 2021.08.09 |
[JSP, Servlet] DB연결 (JDBC, ResultSet, executeQuery, executeUpdate) (0) | 2021.07.30 |
[JSP, Servlet] 자바빈 (0) | 2021.07.30 |
[JSP, Servlet] page, request, session, application 영역 (0) | 2021.07.29 |