JSTL

장준휴·2023년 11월 1일
1

JAVA

목록 보기
7/9

JSTL?

jstl 이란 jsq 표준 라이브러리이다. 매번 자바 언어를 html에서 사용하기 위해 <% %>를 사용하기 귀찮고 오류가 발생할 확률이 높기 때문에 개발자들은 이러한 라이브러리를 만들었다.
시간, 날짜, 숫자의 포멧, 문자열 가공 등의 처리에서 비즈니스 로직과 프리젠테이션 로직을 분리 할 수 있으며 EL태그를 사용해서 사용한다.

JSTL 사용

JSTL은 내장 라이브러리가 아니기 때문에 사용하기 위해서는 외부에서 다운로드를 받아야한다.

이 사이트에서 가장 많이 다운로드 된 프로그램을 다운로드 받으면 된다.
(잘 모르겠으면 다운로드가 많은 순!!)


다운받은 jar 파일을 이 위치에 넣어주면된다
외부 라이브러리 파일은 모두 이 위치에 넣어주면된다.

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

taglib을 사용하기 전 이렇게 생성 맨 위에 지시자를 생성을 해줘야한다.
이 코드는 하나의 문자(c)를 정해서 jstl을 사용하겠다고 알려주는 명령어 이고, prefix는 이제 밑에서 우리가 custom한 태그를 쓸 건데 기호를 정해서 해당 라이브러리를 사용하겠다는 뜻이다.

태그 사용법은 그다지 어렵지 않다.

  1. 변수선언방법
<c:set var="a" value="10"></c:set>
<c:set var="a" value="10"/>

c:set을 사용하여 변수를 선언하겠다는 명령어를 작성하고 그 뒤에 var를 사용하여 변수 이름, value를 사용하여 변수의 값을 할당한다.
태그를 감싸기 전 / 를 사용하면 홀 태그로 사용 가능하기 때문에, 위의 코드와 아래의 코드는 동일하다.

  1. 출력
<c:out value="${a}"></c:out>
  1. 조건문
	<c:if test="${a%2==0}">
		<c:out value="a는 짝수"/>
	</c:if>
	<c:if test="${a%2==1}">
		<c:out value="a는 홀수"></c:out>
	</c:if>
  1. switch문
	<c:set var="b" value="11"></c:set>
	<c:out value="${b}"></c:out>
	<hr>
	<c:choose>
		<c:when test="${b%2==0}">
			<c:out value="b는 짝수"></c:out>
		</c:when>
		<c:otherwise>
			<c:out value="b는 홀수"></c:out>
		</c:otherwise>
	</c:choose>

약간 if와 else느낌이다.

5.반복문

	<c:forEach var="i" begin="1" end="5">
		<c:out value="${i}"></c:out>
	</c:forEach>

이렇게 하면 기본적인 문법을 간단하게 사용 할 수 있다.
더 나아가 함수까지 사용할 수 있는데,

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

이 코드를 작성해줘야한다. (맨뒤 functions)

  1. functions로 배열 만들기
	<c:set var="team" value="${fn:split('박세호,노은평,장준휴,호아이티,주선우', ',')}"></c:set>
	<c:forEach var="member" items="${team}">
		<c:out value="${member}"></c:out>
	</c:forEach>
	<hr>
	<c:out value="${team[1]}"></c:out>

배열답게 인덱싱도 가능하다

  1. functions로 문자열 길이 가져오기
	<c:out value="${fn:length(team)}"></c:out>
	<c:out value="${fn:length('장준휴입니다리')}"></c:out>
profile
나는야 토마토

0개의 댓글