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

SoHEeeeeee·2023년 6월 16일
0

<%@ 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개의 댓글