반응형
# MVC03_08 JSTL과 EL이란 무엇인가
- JSP는 HTML 태그와 프로그래밍적 요소(% %) 등을 섞어서 하나의 페이지를 만드는 방법이다.
- 보통 HTML은 디자이너가 프로그래밍적 요소는 개발자가 작업하는 등 협업하는 경우가 존재. 그래서 가급적이면 디자이너를 고려해서 코딩을 해주는게 좋다.
- 프로그래밍적인 요소를 어떻게 해야 태그적인 요소로 사용할 수 있을까? 태그적인 요소를 사용할 경우 디자이너가 받아들이기 수월하여 협업에 도움을 줄 수 있고, 빠른 개발도 가능하게 해준다.
## JSTL API
- JSP 표준 태그 라이브러리
- ### JSTL API 다운로드 방법
- https://mvnrepository.com/ 사이트 접속
- jstl 검색 후 나온 항목 중 많이 사용한 항목 클릭
- https://mvnrepository.com/artifact/javax.servlet/jstl/1.2
- jar 파일 다운로드 후 프로젝트 > WebContent > WEB-INF > lib 에 추가
### JSTL 사용방법
- 프로젝트 > WebContent > view 에 jstl01.jsp 생성
- jstl 사용을 위해 jsp에 아래 taglib 설정. 아래 taglib uri에서 Ctrl + Space 클릭 시 다양한 태그 확인 가능.
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- prefix core tag : if문, for문, switch문 등등 사용 위한 태그로 가장 많이 사용한다.
- prefix fmt tag : 날짜, 통화, 시간 등의 포맷을 지정해서 작업을 위한 태그
- prefix sql tag, xml tag 등등 존재
- jstl 변수 선언은 아래와 같이 진행
<c:set var="cnt" value="10"/>
var 부분은 변수.
value 부분은 값.
- jstl 출력은 EL 표기법 사용.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="cnt" value="10"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
${cnt} // EL표기법을 사용한 출력
${cnt * 10}
${cnt > 10}
</body>
</html>
## EL 표기법
${식} 으로 표시
# MVC03_09 JSTL Core Tag
## JSTL 실습 위한 JSP 생성_1
- 프로젝트 > WebContent > view 에 jstl02.jsp 생성
### JSTL if문
- JSTL if문은 아래와 같이 생성, test 부분에는 조건을 넣어준다.
<c:if test="${cnt % 2 == 0}"></c:if>
JSTL은 else를 처리하는 부분이 없어 if문을 또 사용 해야한다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="cnt" value="7"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:if test="${cnt % 2 == 0}">
짝수 입니다.
</c:if>
<c:if test="${cnt % 2 != 0}">
홀수 입니다.
</c:if>
</body>
</html>
## JSTL 실습 위한 JSP 생성_2
- 프로젝트 > WebContent > view 에 jstl03.jsp 생성
### JSTL Switch문
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="cnt" value="7"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:choose>
<c:when test="${cnt % 2 == 0}">
짝수 입니다.
</c:when>
<c:when test="${cnt % 2 != 0}">
홀수 입니다.
</c:when>
<c:otherwise>
일치하는 when 절이 없는 경우 실행된다.
</c:otherwise>
</c:choose>
</body>
</html>
## JSTL 실습 위한 JSP 생성_3
- 프로젝트 > WebContent > view 에 jstl04.jsp 생성
### JSTL 반복문
- var 부분은 변수, begin은 시작값, end는 종료값, step는 증감값
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="cnt" value="7"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:forEach var="i" begin="1" end="5" step="1">
야호~<br>
</c:forEach>
</body>
</html>
## 정리
- var로 되어있으면 request.setAttribute / EL은 getAttribute로 빼내오는 것이 내부적으로 진행.
반응형
'인프런 강의 학습 > MVC 프레임워크_나프1탄' 카테고리의 다른 글
인프런 MVC 프레임워크는 내손에 39일차 : MVC03_11 MVC03 JSTL 적용 (0) | 2021.06.17 |
---|---|
인프런 MVC 프레임워크는 내손에 38일차 : MVC03_10 JSTL 활용하기_ArrayList (0) | 2021.06.17 |
인프런 MVC 프레임워크는 내손에 36일차 : MVC03_07 MVC 회원관리 흐름도 (0) | 2021.06.15 |
인프런 MVC 프레임워크는 내손에 35일차 : MVC03_06 Basic MVC 완성 (0) | 2021.06.15 |
인프런 MVC 프레임워크는 내손에 34일차 : MVC03_04 ~ 05 redirect, forward 기법을 이용한 페이지 전환 및 데이터 전달 방법 (0) | 2021.06.14 |