JSTL Core 태그 라이브러리에 관하여(+EL표현식)

SoHEeeeeee·2023년 6월 16일

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

는 JSP 페이지에서 JSTL(JSP Standard Tag Library)의 Core 태그 라이브러리를 사용하기 위한 선언입니다.

JSTL은 JSP 개발을 더욱 간편하게 만들기 위한 태그 라이브러리입니다.

Core 태그 라이브러리는 JSP 페이지에서 일반적인 로직 처리 및 데이터 조작을 수행하는 데 사용됩니다.

이 라이브러리를 사용하면 자바 코드를 작성하지 않고도 JSP 페이지에서 조건문, 반복문, 변수 설정 등의 작업을 처리할 수 있습니다.

위의 태그 라이브러리 선언은 JSP 페이지에서 Core 태그 라이브러리의 기능을 사용할 수 있도록 설정하는 역할을 합니다.

prefix는 태그 라이브러리에 접근할 때 사용되는 접두사를 정의하며, uri는 해당 태그 라이브러리의 위치를 지정합니다. 위의 선언은 c라는 접두사를 사용하여 Core 태그 라이브러리에 접근하고, http://java.sun.com/jsp/jstl/core 위치에서 해당 태그 라이브러리를 찾을 수 있다는 것을 나타냅니다.


선언된 이후에는 JSP 페이지에서 Core 태그 라이브러리의 태그들을 사용할 수 있습니다. 일반적인 Core 태그에는 <c:if>, <c:forEach>, <c:set> 등이 있으며, 이러한 태그들을 사용하여 JSP 페이지에서 조건문, 반복문, 변수 설정 등을 처리할 수 있습니다.

예를 들어, <c:forEach> 태그를 사용하여 배열 또는 컬렉션의 요소들을 반복적으로 처리할 수 있고, <c:if> 태그를 사용하여 조건에 따라 다른 내용을 표시할 수 있습니다. 이러한 Core 태그들은 JSP 개발을 보다 효율적이고 가독성이 좋도록 도와줍니다.

JSTL Core 태그 라이브러리를 사용하기 위해선 JSTL 라이브러리가 프로젝트에 포함되어 있어야 합니다. 따라서, JSTL 라이브러리를 추가로 설정해주어야 합니다.

implementation 'javax.servlet:jstl:1.2'

build.gradle에 추가한 설정 코드


<c:choose> 예시 코드

<c:choose>
	<c:when test="${not empty TestList.list}">
		<input type="hidden" name="TestListSize" id="TestListSize" value="${TestList.totalCount}">
	</c:when>
	<c:otherwise>
		<input type="hidden" name="TestListSize" id="TestListSize" value="0">
	</c:otherwise>
</c:choose

여기서 TestList는 JSP 페이지의 데이터 모델이나 객체를 나타내는 변수입니다.

Service단에는 PageInfo라는 페이징 처리 class를 통해 'TestList'라는 객체를 생성하는 예시를 생각해볼 수 있습니다.

public PageInfo TestList(Map<String, Object> params, PageInfo pageInfo) {
	...
}

이렇게 생성한 객체는 JSP 페이지로 전달하는 역할을 수행할 수 있습니다. 이를 위해 JSP 페이지에서 ${TestList}와 같이 EL(Expression Language)을 사용하여 TestList객체를 참조할 수 있습니다.

public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
	}

추가적으로 value="${TestList.totalCount}
이 el문은 PageInfo 클래스에서 선언된 totalCount를 가져와 사용한 것으로

pageInfo.setTotalCount(Mapper.getListCount(params)); 

서비스 단에서는 이렇게 db를 통해 조회해 온 값을 넣을 수 있습니다.

profile
주니어 개발자

0개의 댓글