반응형

# MVC03_08 JSTL과 EL이란 무엇인가

  • JSP는 HTML 태그와 프로그래밍적 요소(% %) 등을 섞어서 하나의 페이지를 만드는 방법이다.
  • 보통 HTML은 디자이너가 프로그래밍적 요소는 개발자가 작업하는 등 협업하는 경우가 존재. 그래서 가급적이면 디자이너를 고려해서 코딩을 해주는게 좋다.
  • 프로그래밍적인 요소를 어떻게 해야 태그적인 요소로 사용할 수 있을까? 태그적인 요소를 사용할 경우 디자이너가 받아들이기 수월하여 협업에 도움을 줄 수 있고, 빠른 개발도 가능하게 해준다.

## JSTL API

  • 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로 빼내오는 것이 내부적으로 진행.
반응형

+ Recent posts