1. EL ํ๊ทธ (Expression Language Tag)
- JSP์์ ๊ฐ์ ํํํ๋๋ฐ ์ฌ์ฉ๋๋ ์คํฌ๋ฆฝํธ ์ธ์ด์ด๋ค.
- JSP์์์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ๋ณด์ํ๋ ์ญํ์ ํ๋ค.
2. ELํ๊ทธ ๋ฌธ๋ฒ
- ${expr}
- expr์ jsp์์ ์ฌ์ฉ๋๋ ๋ณ์๊ฐ ๋ ์ ์๊ณ ์์์ด ๋ค์ด๊ฐ ์ ์๋ค.
3. ์ฌ์ฉ ๊ฐ๋ฅํ ์์น
- jstl๊ฐ์ ์ฝ๋๋ด๋ถ์์ ์ฌ์ฉ๊ฐ๋ฅ
<jsp:include page="/module/${skin.id}/header.jsp" flush="true" />
- ํ๊ทธ ์ฌ์ด์์ ์ฌ์ฉ ๊ฐ๋ฅ
<b>${sessionScope.member.id}</b> ํ์.
4. expr์์ ์ฌ์ฉ๊ฐ๋ฅ ํ ๊ฒ๋ค
1) ์ฌ์ฉ๊ฐ๋ฅ ํ ๋ฆฌ์คํธ
A JSP์ ์ค์ฝํ(scope)์ ์์ฑ์ ์ฝ๊ฒ ์ถ๋ ฅ ํ ์ ์๋ ๋ฐฉ๋ฒ ์ ๊ณต
B ์งํฉ ๊ฐ์ฒด(Collection ๋ฑ...)์ ์ํด์๋ ๊ฐ์ฒด ๋ํด ์ฝ๊ฑฐ ์ถ๋ ฅ ํ ์ ์๋ ๋ฐฉ๋ฒ ์ ๊ณต
C ์์น ์ฐ์ฐ, ๋น๊ต ์ฐ์ฐ์, ๋ ผ๋ฆฌ ์ฐ์ฐ์ ์ ๊ณต
D ์๋ฐ ํด๋์ค ๋ฉ์์ค ํธ์ถ ๊ธฐ๋ฅ ์ ๊ณต
E ํํ์ธ์ด๋ง์ ๊ธฐ๋ณธ ๊ฐ์ฒด ์ ๊ณต
1-A) JSP์ ์ค์ฝํ(scope)์ ์์ฑ์ ์ฝ๊ฒ ์ถ๋ ฅ ํ ์ ์๋ ๋ฐฉ๋ฒ ์ ๊ณต
- requset Scope์์ attribute๊ฐ์ ์ฌ์ฉํ๋ ค๋ฉด
>java์ฝ๋์ ๊ฒฝ์ฐ
request.getAttribute("name")
>EL์ ๊ฒฝ์ฐ
${requestScope.name}
1-B) ์งํฉ ๊ฐ์ฒด(Collection ๋ฑ...)์ ์ํด์๋ ๊ฐ์ฒด ๋ํด ์ฝ๊ฑฐ ์ถ๋ ฅ ํ ์ ์๋ ๋ฐฉ๋ฒ ์ ๊ณต
- ๋ฌธ๋ฒ : ${<ํํ1>.<ํํ2>} ์ฌ๊ธฐ์ ํํ1์ ๋ฆฌ์คํธ์ผ๊ฒฝ์ฐ ํํ2๋ ๋ฆฌ์คํธ ๋ฒํธ๊ฐ ๋๋ค.
1-C) ์์น ์ฐ์ฐ, ๊ด๊ณ์ฐ์ฐ, ๋ ผ๋ฆฌ ์ฐ์ฐ์ ์ ๊ณต
(1) ์์น ์ฐ์ฐ
+ : ๋ง์ |
- : ๋บ์ |
* : ๊ณฑ์ |
/ ๋๋ div : ๋๋์ |
% ๋๋ mod : ๋๋จธ์ง |
์ซ์๊ฐ ์๋ ๊ฐ์ฒด์ ์์น ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๊ฐ์ฒด๋ฅผ ์ซ์ ๊ฐ์ผ๋ก ๋ณํ ํ ์ฐ์ฐ์๋ฅผ ์ํ : ${"10"+1} → ${10+1} |
์ซ์๋ก ๋ณํํ ์ ์๋ ๊ฐ์ฒด์ ์์น ์ฐ์ฐ์๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด ์๋ฌ๋ฅผ ๋ฐ์ : ${"์ด"+1} → ์๋ฌ |
์์น ์ฐ์ฐ์์์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด๊ฐ null์ด๋ฉด 0์ผ๋ก ์ฒ๋ฆฌ : ${null + 1} → ${0+1} |
(2) ๋น๊ต ์ฐ์ฐ
== ๋๋ eq |
!= ๋๋ ne |
< ๋๋ lt |
> ๋๋ gt |
<= ๋๋ le |
>= ๋๋ ge |
๋ฌธ์์ด ๋น๊ต: ${str == '๊ฐ'} str.compareTo("๊ฐ") == 0 ๊ณผ ๋์ผ |
(3) ๋ ผ๋ฆฌ ์ฐ์ฐ์
&& ๋๋ and |
|| ๋๋ or |
! ๋๋ not |
1-D) ์๋ฐ ํด๋์ค ๋ฉ์์ค ํธ์ถ ๊ธฐ๋ฅ ์ ๊ณต
- ํด๋์ค์์ getNameํจ์๋ก ํธ์ถ ํ๋ ๊ฐ์ EL์ผ๋ก ๊ฐํํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
- ${student.name}
1-E) ํํ์ธ์ด๋ง์ ๊ธฐ๋ณธ ๊ฐ์ฒด ์ ๊ณต
- ๋ค์ ๊ธฐ๋ณธ ๊ฐ์ฒด๋ EL์์ ๋ฐ๋ก์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ฒด๋ค์ด๋ค.
์ฐ์ต ์์ (index.jsp) ->
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="dto.MemberDto"%>
<%@ 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>
<%--
JSP : html, JavaScript, CSS, Java
<%! ์ ์ธ๋ถ%>
<% ์ฝ๋๋ถ %>
<%=๊ฐ>
" front end์์ java๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ์ํจ
Expression Language
ํํ
EL Tag -> value
Core Tag -> ์ ์ด๋ฌธ, jar๋ฅผ ์ถ๊ฐ
(JSTL -> Java Server page Standard Tag Language)
Jsp Tag
ํ์
$(๊ฐ, ์ฐ์ฐ์)
--%>
<%
String str = "hello";
request.setAttribute("_str", str);
%>
<%
String s = (String)request.getAttribute("_str");
%>
<%
out.println("s= " + s);
%>
<br><br>
<h3>s = <%=s %></h3>
<br><br>
s=${_str}
<br><br>
<%='๊ฐ' %>
<br>
${'๊ฐ'}
<br>
${2+3}
<br>
${3>2?100:200}
<br><br>
<%
request.setAttribute("data", "์๋
ํ์ธ์");
%>
${data}
<br><br>
Object๊ฐ ํ ๋น๋์ด ์๋์ง?
<%
Object obj = new String("world");
if(obj != null){
}
request.setAttribute("_obj", obj);
%>
<br>
obj = ${not empty data} <!-- ๋น์๋? -->
<br>
<%--ํ๋ณ์ (true/false), ์ฐ์ฐ์(value) --%>
1<9 : ${1<9}
<br>
1+3:${1+3}
<%
Integer a, b;
a = 10;
b = 3;
boolean c = !true;
%>
<%
request.setAttribute("a", a);
request.setAttribute("b", b);
request.setAttribute("c", c);
%>
a:${a }
b:${b }
c:${c }
<%-- a+b:${a+b}
<br>
a<b:${a<b}
<br>
c:${!c}
<br>
${a==10&&!c}
<br><br> --%>
<%
MemberDto dto = new MemberDto();
dto.setMessage("Hello EL");
%>
message:<%=dto.getMessage() %>
<br>
<%-- message:${dto.getMessage()} --%>
<%
request.setAttribute("_dto", dto);
%>
message:{_dto.message }
<%
String arr[]= {"hello","world"};
request.setAttribute("_arr", arr);
%>
<%=arr[0]%>
<br>
${_arr[0]}
<br><br>
<%
List<String> list = new ArrayList<>();
list.add("world");
list.add("hello");
request.setAttribute("_list", list);
%>
<%=list.get(0) %>
${_list[0]} <!-- ๋ฆฌ์คํธ๋ ๋ฐฐ์ด๋ก ์ฌ์ฉํ๋ค. -->
</body>
</html>
์ถ์ฒ:
์ถ์ฒ : https://doitnow-man.tistory.com/90 [์ฆ๊ฑฐ์ด์ธ์ (์คํจ ๋ํ๋์ ์ฑ๊ณต)]
'๐ ์๋ฐ ์๋ฒ ํ์ด์ง JSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JSP - JSTL ํ๊ทธ (JSP Standard Tag Library) (0) | 2021.03.23 |
---|---|
JSP - MVC Model 1 / ๋ก๊ทธ์ธ ๊ฒ์ํ ๊ตฌ์ถ (0) | 2021.03.22 |
JSP - ํ์ด์ง ์๋ก๊ณ ์นจํ๋ฉด ํ ์ด๋ธ(<tr>) ์์ฑ + (0) | 2021.03.15 |
JSP - 2. ์ค๋ฌธ์ง ์์ฑํ์ฌ JSP ํ์ด์ง๋ก ๋ฐ์ดํฐ ๋๊ธฐ๊ธฐ (0) | 2021.03.15 |
JSP - 1. ๋ด์ฅ๊ฐ์ฒด (Parameter) ๋ก ๋ฐ์ดํฐ ๋ฐ์ ์ ์ก (0) | 2021.03.15 |
๋๊ธ