[ JSTL ] 라이브러리 다운, 세팅, 사용방법

duck-ach·2022년 10월 14일
1

JSP

목록 보기
7/14

JSTL(Jsp Standard Tag Library)이란?

  • 자주 사용하는 자바 코드(if, for 등)를 태그 형식으로 제공하는 태그 라이브러리이다.
  • Tomcat에서 기본적으로 제공되지 않기 때문에 라이브러리를 추가해야 사용할 수 있다.
  • JSTL의 목적은 자바코드를 모두 태그로 변환시키는데에 있다.

다운로드

그럼 이제부터 JSTL 라이브러리를 다운로드 해보자!

  1. Tomcat홈페이지에 들어가준다.

    Tomcat홈페이지
  1. 그럼 목록에 Taglibs라는 것이 있는데 클릭해준다.
  1. README를 경건한 마음으로 읽어준다.
  1. 아래와 같이 JAVA와 Servlet, JSP의 적정 버전을 알려준다.
  1. 빨간색으로 표시된 부분에 적힌 리스트를 /WEB-INF/lib경로에 포함해주라는 뜻이다.

    하지만 만약 1.0버전을 사용하고싶지 않으면 파란색 표시처럼 "taglibs-standard-jstlel"을 제거해도 좋다는 뜻이다.
  1. 나의 관심사는 JSTL의 태그 기능을 사용할 수 있는 CORE LIBRARY이지만, 다른 LIBRARY도 지원하는 것을 알 수 있다.
  1. 즐기자!

    README는 여기까지 읽어보고 함께 Enjoy! 해보기로 한다.
  1. 본격적으로 다운로드 시작.

    다 써도 되는데 나는 Impl과 Spec을 골라서 사용해보겠다.

    눌러서 다운로드를 받고,

    jar파일을 모아둔곳에 추가해서 정리하기로 했다.
    설치는 완료됐다.

기본세팅

  1. 이클립스로 돌아와서 작업프로젝트(Dynamic Web Project)의 WEB-INF 폴더의 lib폴더드래그해서 jar파일을 복사해준다. (프로젝트 내부에서는 언제든지 사용 가능)
  1. 라이브러리를 사용할 jsp 파일을 생성해서 상단에 라이브러리 참조코드를 넣어준다. (나는 core코드를 넣어줬다.)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

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

참고

그럼 이제 세팅도 완료가 된것이다.

사용

속성(Attribute) 만들기 태그

<c:set var="속성명" value="값" scope="영역">

영역 : page(Default), request, session, application

태그

속성

  • var : 값을 설정할 EL변수의 이름
  • value : 변수의 값을 설정(표현식, EL, 상수 사용 가능)
  • scope : 변수가 저장되는 영역 설정(page | request | session | application 생략가능 생략시 기본값은 page)

코드

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

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

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<c:set var="name" value="오리" scope="page" />
	<c:set var="age" value="24" scope="page" />
	<c:set var="isAdult" value="${age >= 20}" scope="page"/>
	<c:set var="height" value="180.5" scope="page"/>
	<c:set var="weight" value="73.5" scope="page"/>
	<c:set var="bmi" value="${weight div (height * height * 0.0001)}" scope="page"/>
	<c:set var="health" value="${bmi ge 25 ? '비만' : '정상'}" scope="page"/>
	
	<h1>이름 : ${name}</h1>
	<h1>나이 : ${age}</h1>
	<h1>${isAdult ? '성인' : '미성년자'}</h1>
	<h1>bmi : ${bmi}</h1>
	<h1>건강상태 : ${health}</h1>
	
</body>
</html>

결과

profile
자몽 허니 블랙티와 아메리카노 사이 그 어딘가

0개의 댓글