여행을 개발하다
JSTL 기초, 제어문 사용하기 본문
안녕하세요!
오늘은 자바 기반의 웹 개발 플랫폼을 위해 고안된 컴포넌트,
'JSTL'에 대해 대한 간단한 입문 포스팅을 하려고 합니다.
JSTL은 'Java Server Pages Standard Tab Library'의 약자입니다.
JSTL은 JSP 사용 시에 자바 코드를 직접적으로 사용하지 않고,
프로그램 조직과 사용자 인터페이스를 분리하기 위해 만들어졌는데요.
주로 웹 프로그래밍시에 필요한 조건문과 메소드들을 처리하는데 매우 유용합니다.
그 만큼 자바와 표현방식도 조금 다르겠죠?
그럼 JSTL은 어떻게 사용하는지 한 번 살펴보도록 하겠습니다.
1. 사전 준비사항
1-1. 바이너리 파일 추가하기
JSTL을 사용하기 위한 첫 작업은,
Apache에서 배포하는 바이너리 파일을 다운받아서 라이브러리에 추가하는 것입니다.
소스는 아래의 'Apache Taglibs'으로 들어가셔서 다운로드 받으시면 됩니다.
다운로드 받은 JSTL 바이너리는 가볍게 이클립스 JSP 프로젝트 파일의
'WEB-INT -> lib' 폴더에 넣어주세요.
1-2. 태그 설정 정보 추가하기
바이너리 파일을 라이브러리에 추가했다면 이제는 태그 설정 정보를 추가해야 합니다.
태그 설정은 디렉티브 폼인 '<%@tablib>'에서 prefix와 uri 속성을 품고 이루어집니다.
여기서 uri는 태그의 설정 정보가 어디에 위치해 있는지 적어주는 리소스 역할을 하게 되며,
prefix는 설정 정보를 호출할 때 사용하는 접두어라고 이해하시면 됩니다.
저는 core(c, 변수설정과 관련), fmt(fmt, 날짜 등 문자열 포맷 적용에 사용),
functions(fn, 커넥션과 String 처리를 위해 사용) 정보를 추가하겠습니다.
prefix 추후 태그 설정 정보를 호출하기 위해서 필요한 일종의 별명이지만,
별명은 이미 정해져 있는 것이기 때문에 사용자 임의로 변경할 수 없습니다.
다음 그림처럼 규정 폼을 지켜주세요!
2. JSTL 제어문
2-1. 변수의 선언과 초기화
첫 번째로 변수를 선언하는 방법입니다. 비록 JSP 개발 환경에서 사용되긴 해도, 형식은 Visual Basic 쪽에 더 가깝습니다.
변수를 선언하고 초기화하는 방법은,
"<c:set var="변수명" value="초기값"></c:set>"으로 표현합니다.
예를 들어, number라는 변수를 선언하고 값을 2로 초기화해보겠습니다.
var 속성에는 설정할 변수명을 입력하고, value 속성에는 초기값을 입력합니다.
그리고 html 태그와 마찬가지고 닫는 태그로 마무리해줘야 한다는 것은 잊지 마시구요!
하지만 두 개의 태그를 항상 쌍으로 써야하는 것은 아닙니다.
번거로우시면 다음과 같이 하나의 태그로만 표현할 수도 있습니다.
선언 후 초기화한 변수는 다음과 같이 'EL(Expression Language)'로 호출하며,
형식은 '${변수명}'으로 합니다.
위와 같이 호출 후에 실행 결과, 웹 페이지에 2가 정상적으로 호출됩니다.
2-2. if 조건문
if 조건문 또한 기타 언어와 비슷합니다.
지금까지 조건을 물어보고 '조건이 참이면 true, 거짓이면 false를 리턴해라'라는 식으로 진행해왔죠?
JSTL에서도 조건을 물어보고 참인지 거짓인지를 판단하여 결과값을 리턴하는 것은 동일하지만,
if구문과 쌍으로 사용되는 'else 구문' 대신에 대립 조건을 하나 더 써준다는 것이 다른점입니다.
먼저 기본 문법은, test라는 속성내에 판단할 조건을 넘겨주고, 조건이 참일 경우 실행할 문장을 적어주는 방식입니다.
표현은 '<c:if test="조건식"> 조건이 참일 경우 실행할 문장 </c:if>'으로 하고요.
예를 들어, 위에서 이미 설정해 놓은 변수 number가 3보다 작으면 'number는 3보다 작습니다'라고 리턴하는 조건식을 세워보겠습니다.
그리고 else문 대신에 위 조건식과 대립되는 조건식을 하나 더 써줄께요.
그리고 JSP파일을 실행해보니, 다음과 같은 결과 출력되었네요.
대립조건이 제대로 작동하는지를 알아보기 위해, 이번에는 number 변수를 5로 초기화하고 다시 실행해보겠습니다. 5는 3보다 작거나 같다는 실행문이 출력됩니다.
2-3. for문
for문도 문법만 조금 다를뿐, 역시 다른 언어와 작동 원리는 동일합니다.
심지어 for뿐만 아니라 '향상된 for' 구문도 구현이 가능하다는 것이 JSTL의 장점입니다.
JSTL에서의 for문은 'foreach'로 나타냅니다.
foreach에 속성으로 들어가는 것은 일반적으로 begin, end, step, var가 있습니다.
begin은 말 그대로 시작 값, end는 마지막 값, step은 증가치, var는 변수를 나타냅니다.
그럼 j라는 변수를 1에서 5까지, 증가치를 1로 설정하여 foreach문을 실행해 보겠습니다.
그 결과, 1 2 3 4 5가 정상적으로 출력됩니다.
지금까지 JSTL의 기초와 기본 제어문에 대해 알아보았습니다.
감사합니다 : )