점점 배우는 언어가 많아진다. 백엔드 언어가 자바인 경우 배우는 것이 프론트를 제외하더라도
JAVA, SERVLET, JSP, EL, JSTL ...뒤로 SPRING등이 있을 것이다. 노드를 썻을 때는
자바스크립트와 노드문법 적당히만 알면 사용가능 했었는데 확실히 자바는 배울것이 많다.
하지만 한국에 취업하려면 자바를 꼭 해야하니 어쩔 수 없다...ㅠ
EL은 표현언어이다. 출력할때 사용하며 사용법은 ${변수}이다. 연산까지 가능하며 for문이나 if문은 사용 불가능하다
그것을 사용하려면 jstl을 배워야한다...
간단한??코드로 예를 들자면
<!DOCTYPE html>
<html>
<head>
<%
pageContext.setAttribute("p1", "pageScope");
request.setAttribute("r1", "requestScope");
session.setAttribute("s1", "sessionScope");
application.setAttribute("a1", "applicationScpoe");
%>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
pageScope: <%=pageContext.getAttribute("p1") %><br>
pageScopeEl: ${pageScope.p1} <br>
requestScopeEl: ${requestScope.r1} <br>
sessionScopeEl: ${sessionScope.s1} <br>
applicationScopeEl: ${applicationScope.a1}
</body>
</html>
스코프를 저장한 후 출력하는 형식이다. pageScope의 <%과 el의 ${}는 똑같은 의미이고 el이 훨씬 간단하다.
학습 목표
- JSTL을 이해한다.
- JSTL을 사용할 수 있다.
JSTL은 JSP코드 내에서 조건문, 반복처리등을 HTML태그 형태로 작성할 수 있게 한다.
기본적인 사용법은
<c:> </>로 사용하며 :뒤에 set이나 remove등이 온다. 변수선언방법은
<c:set var="value1" scope="request" value="kang"/>로 한다
var는 변수명 scope는 어떤scope에 지정할지, value는 변수에 들어가는 값이다. 실제코드를 살펴보면
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="value1" scope="request" value = "kang"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
성: ${value1}<br>
<c:remove var="value1" scope="request"/>
성: ${value1}<br>
</body>
</html>
이고 jstl을 사용하기전에 taglib을 입력해야한다. jstl은 커스텀이 가능하기 때문에 각 커스텀을 구분할 수 있도록
prefix를 입력해야 하기 때문에 지금 사용하는 것은 c로 입력한다. uri는 다운받았던 주소이다.
if문의 경우
<c:if test="${n == 0}">
n은 과 0과 같습니다.
</c:if>
<c:if test="${n == 10}">
n은 과 10과 같습니다.
</c:if>
이런식으로 활용하며 자바와 달리 if else가 없다. 그래서 만들어진 것이 choose when otherwise이다
if else와 사용법은 비슷하다.
<c:choose>
<c:when test="${score >= 90}">
A학점입니다.
</c:when>
<c:when test="${score >= 80}">
B학점입니다.
</c:when>
<c:otherwise>
C학점입니다.
</c:otherwise>
</c:choose>
forEach
forEach문은 배열이나 맵을 읽을 수 있다.
<c:forEach items="${list}" var="item">
${item } <br>
</c:forEach>
로 선언하며 items에는 대상이되는 변수 var에는 그 값을 담을 변수를 선언한다.
url저장
변수에 url을 저장한 후 창을 띄울 수 있다.
<c:import url="http://localhost:8080/webapp/jstlValue.jsp" var="urlValue" scope="request"></c:import>
한후 ${urlValue}를 하면 저 주소가 열린다.
'IT > 부스트코스' 카테고리의 다른 글
부스트코스 DB연결 웹앱#7 SQL-2 (0) | 2020.01.31 |
---|---|
부스트코스 DB연결 웹앱#7 SQL (0) | 2020.01.30 |
부스트코스 DB연결 웹앱 #5 scope (0) | 2020.01.22 |
부스트코스 DB연결 웹앱 #4 redirect & forward (0) | 2020.01.21 |
부스트코스 DB연결 웹앱 #3 JS (0) | 2020.01.21 |