https://blog.naver.com/sysysy0302 여니입니다 :)
오늘은 JSTL 개념 및 사용이유에 대해 알아보겠습니다.
JSTL 개념
JSTL은 JavaServer Pages Standard Tag Library의 약자로, Java 코드를 바로 사용하지 않고 HTML 태그(<>) 형태로 직관적인 코딩을 지원하는 라이브러리입니다. 일반적으로 HTML 태그만으로는 Java의 forEach 문과 같은 반복문을 사용할 수 없습니다.
하지만, JSTL을 사용하면 연산이나 조건문, 반복문을 편하게 처리할 수 있으며 JSP페이지 내에서 자바코드를 사용하지 않고도 로직을 구현할 수 있도록 해줍니다. 아래의 내용과 같이, Java나 타 프로그래밍 언어처럼 태그(<>) 안에 쓰임새가 직관적으로 파악되는 반복문을 확인할 수 있습니다. 이러한 코딩을 지원하는 라이브러리가 JSTL입니다. (어렵게 말하자면, JSTL은 JSP의 확장 태그라고 부릅니다.)
JSTL 사용이유
- 페이지의 가독성을 높이기 위해 사용합니다.
- Mybatis와 유사하게 라이브러리로 자바 구문을 만들어 놓고 필요할 때마다 꺼내쓰면 되기 때문에 유지보수에 편리합니다.
- JSP 페이지 내에서 자바코드와 HTML코드(태그)가 섞여 있으면 가독성이 떨어지기 때문입니다.
- EL문과 JSTL문을 이용하면 HTML과 태그로만 구성된 일관적인 소스코드로 볼 수 있다는 장점이 있습니다.
+ EL(Expression Language)란?
- 값을 간편하고 간결하게 출력할 수 있도록 해주는 표현 언어입니다.
- 자바 <%=name%> / EL ${}으로 표시합니다.
- 값을 찾을 때 작은 Scope에서 큰 Scope 순으로 찾습니다.
(pageContext > request > session > application)
- EL ${ } 의 중괄호 사이에 들어가는 것은 변수명이 아니라 해당 객체에 attribute로 세팅해줄 때의 key값을 써줍니다.
<c:set></c:set>
//변수 만들 때 사용
<c:out></c:out>
//값을 출력할 때 사용
<c:if></c:if>
//조건 제어(if문)
<c:choose></c:choose>
//조건 제어(switch문)
//내부에는 c:when과 c:otherwise만 있어야한다.
<c:when></c:when>
//조건 제어(case문)
<c:otherwise></c:otherwise>
//조건 제어(default)
<c:forEach></c:forEach>
//반복 제어(for)
JSTL 장점
JSTL은 코드의 쓰임새를 직관적으로 이해할 수 있다는 장점이 있습니다.
아래 의 예시 코드에서 보실 수 있듯이, forEach 기반의 반복문이며, 변수는 i로 설정하고, 초기값은 1, 종료값은 10이며 해당 변수를 차례로 화면에 출력하는 코드라는 것을 쉽게 파악할 수 있습니다. 이러한 장점 덕분에, 개발자가 아닌 HTML/CSS를 다루는 디자이너가 간단한 코드 작업을 쉽게 수행하는 데 효과적입니다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<!--jstl 문법: 태그 형식으로 코딩하는 방법(디자이너에게 직관적임)-->
<c:forEach var ="i" begin = "1" end = "10">
${i}
</c:forEach>
</body>
</html>
JSTL 사용방법
JSTL을 사용하기 위해서는 JSTL jar 파일과 JSTL 구현체(implementation)를 설치해야 합니다. 각각 알아봅니다.
1. JSTL jar 파일 설치
먼저, 아래의 주소에 접속하셔서 jar 파일을 설치합니다.
https://repo1.maven.org/maven2/jstl/jstl/1.2/
2. Tomcat 설치
사용 중이신 OS 사양에 맞춰 톰캣을 설치합니다.
https://tomcat.apache.org/download-90.cgi
앞서 설치한 JSTL jar 파일은 tomcat 폴더 > lib 폴더 내부로 이동시킵니다.
3. 이클립스 재실행 및 HTML 파일 생성
이클립스를 재실행하고 hmtl 파일 을 하나 생성합니다.
4. taglib 선언
JSP에서 JSTL을 사용하기 위해서는 Java에서 라이브러리를 Import 하는 것처럼 taglib 지시자로 라이브러리를 선언해야 합니다. JSTL Core 태그 선언문은 아래와 같습니다.
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
JSTL 사용 예시
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<!--JavaServer Pages Standard Tag Library-->
<!--jstl 문법: 태그 형식으로 코딩하는 방법(디자이너에게 직관적임)-->
<c:forEach var ="i" begin = "1" end = "10">
${i}
</c:forEach>
</body>
</html>
<출력값>
1 2 3 4 5 6 7 8 9 10
해당 파일을 실행하면 아래와 같이, 초기값인 1부터 종료값 10까지 값이 1씩 증가하며 차례로 화면에 출력되는 것을 확인하실 수 있습니다.
+ 위 포스팅은 개인 공부 목적으로 다음 포스팅을 참고하여 제작하였습니다.
'。*:・゚☆・゚schedule・゚*:・゚★・:*:・☆ *:・゚★ > 나의 면접 준비 자료 ✿˘◡˘✿' 카테고리의 다른 글
[취업/면접] MVC패턴 개념 및 동작 방식, MVC패턴을 사용하는 이유 (0) | 2023.10.01 |
---|---|
[취업/면접] static이란? (1) | 2023.09.30 |
[취업/면접] SI, SM, 솔루션의 차이점 (1) | 2023.09.28 |
[취업/면접] PK와 FK 차이점 (0) | 2023.09.26 |
[취업/면접] Spring 과 Springboot 차이점은? (+ 프레임워크 개념) (0) | 2023.09.24 |