EL태그
표현 언어출력을 하기 위한 언어다.
<% = %>
${}
사용 예제
자료형
정수형 : ${10 }<br>
실수형 : ${10.123 }<br>
문자열형 : ${"홍길동" }<br>
논리형 : ${true }<br>
null데이터 : ${null }<br>
연산 : ${10+123 }<br>
연산자
$앞에 \가 붙으면 $를 태그로서 인식하지 않는다.
EL표현 언어에서는 나눗셈을 할 때 값이 실수형으로 나온다.
<body>
<h1>연산자</h1>
\${5 + 2} : ${5 + 2 }<br>
\${5 - 2} : ${5 - 2 }<br>
\${5 * 2} : ${5 * 2 }<br>
\${5 / 2} : ${5 / 2 }<br>
\${5 div 2} : ${5 div 2 }<br>
\${5 % 2} : ${5 % 2 }<br>
\${5 mod 2} : ${5 mod 2 }<br>
</body>
비교 연산자
<h1>비교연산자들</h1>
\${5 == 2 } : ${5 == 2 } => \${5 eq 5} : ${5 eq 5}<br>
\${5 != 2 } : ${5 != 2 } => \${5 ne 5} : ${5 ne 5}<br>
\${5 < 2 } : ${5 < 2 } => \${5 lt 5} : ${5 lt 5}<br>
\${5 > 2 } : ${5 > 2 } => \${5 ge 5} : ${5 ge 5}<br>
\${5 <= 2 } : ${5 <= 2 } => \${5 le 5} : ${5 le 5}<br>
\${5 >= 2 } : ${5 >= 2 } => \${5 ge 5} : ${5 ge 5}<br>
논리 연산자
<h1>논리연산자들</h1>
\${(5 > 2) || $(5 > 2)} : ${(5 > 2) || (5 > 2)} => \${false or true } : ${false or true}<br>
\${(5 > 2) && $(5 > 2)} : ${(5 > 2) && (5 > 2)} => \${false or true } : ${false or true}<br>
\${!(5 > 2)} : ${!(5 > 2)} => \${false or true } : ${false or true}<br>
Param
action태그로 보낸 parameter값 출력하기.
FORM
<h1>로그인</h1>
<form action = "ex6_result.jsp" method = "post">
<input type="text" name="id" placeholder = "Insert ID"><br>
<input type="password" name="pw" placeholder = "Insert PASSWORD"><br>
<input type="submit" value = "LOGIN">
</form>
RESULT
<body>
<%
String id = request.getParameter("id");
String pw = request.getParameter("pw");
%>
ID : <%= id %><br>
PW : <%= pw %><br>
ID : ${param.id }<br>
PW : ${param.pw }<br>
</body>
Scope
- 속성명이 없으면 가장 적은 범위의 것이 나온다.
(pageContext < request < session < application)
- 하지만 범위를 지정해 주는 것이 좋다.(그냥 범위를 지정 하자.)
- 잘못 지정했으면 값이 안 나온다.
A
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%
pageContext.setAttribute("data", "pageContext");
request.setAttribute("data", "request");
session.setAttribute("data", "session");
application.setAttribute("data", "application");
%>
범위지정 없음 : ${data}<br>
pageContext : ${pageScope.data }<br>
request : ${requestScope.data }<br>
session : ${sessionScope.data }<br>
application : ${applicationScope.data }<br>
<a href="B.jsp">이동</a>
B
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
범위지정 없음 : ${data}<br>
pageContext : ${pageScope.data }<br>
request : ${requestScope.data }<br>
session : ${sessionScope.data }<br>
application : ${applicationScope.data }<br>
<a href="B.jsp">이동</a>