JSTL 태그 사용 [JSP 기초]

2022. 1. 9. 14:00·JAVA/JSP & Servlet

 

앞 전 시간에는 JSTL을 사용하기 위해 jar파일을 설치하는 방법과 라이브러리에 적용하는 방법을 알아보았다.

https://myvelop.tistory.com/20?category=906898 (JSTL 사용하는법)

 

오늘은 JSTL 태그에 대해서 자세히 설명하도록 하겠다.

 

 

 

1. JSTL Documentation

https://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/

 

TLDDoc Generated Documentation

 

docs.oracle.com

위 사이트에 JSTL 태그에 대한 모든 사항이 나와있으니 참고하면 좋을 듯 싶다.

 

 

 

2. EL(Expression Language) 사용

JSTL에서는 표현식도 제공해주는데 원래 JSP에서 표현식은 <%= %> 형식으로 표현되었다.

JSTL을 이용하면 아래와 같은 형식으로 사용할 수 있다.

${param.변수}

표현식을 잘 모르겠다면 예전에 포스트했던 https://myvelop.tistory.com/3?category=906898 을 확인하면 좋을 듯하다.

 

기초 중의 기초! 스크립트릿 요소 사용 [JSP 기초]

JSP에서 사용되는 대표적인 스크립팅 요소는 3가지가 있다. Expression(표현식), Scriptlet(스크립트릿), Declaration(선언문)으로 html에 자바언어를 사용하기 위해 필요한 블록이라고 생각하면 될 것 같다.

myvelop.tistory.com

 

 

 

3. JSTL의 종류

태그의 종류 태그 모양 태그 호출(선언문)
JSTL core <c:~></c:~> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
JSTL functions ${fn:~} <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
JSTL fmt <fmt:~></fmt:~> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
JSTL XML <sql:~></sql:~> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
JSTL sql <x:~></x:~> <%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

내가 생각하기에 주로 사용하는 태그는 위의 3개 태그인 core, functions, fmt(I18N) 이다.

 

 

 

4. Core 태그

(core태그를 사용하기 전 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 선언을 해야한다.)

 

태그마다 각각 필요한 속성값도 다르고 복잡한 편이기 때문에

<fn:>태그에 비해 사용하기는 어려운 편인 것 같다.

많이 사용하는 core태그만 살펴보도록 하겠다.

 

  • forEach 태그
<c:forEach var="변수" items="아이템" begin="시작값" end="끝값">
	${변수}
</c:forEach>

  - 자바의 for문과 비슷하다.

 

  • if 태그
<c:if test="EL비교식">
	<c:out value="참이다">
</c:if>

** EL비교식은 대체로 ${name eq "이름"} / ${not 클래스.불리언반환}형식이다.

  - 자바의 if문과 같다.

 

  • set 태그
<c:set var="변수" value="값" scope="영역/>

  - 변수를 설정하는 태그이다.

 

 

 

5. functions 태그

(<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 선언 필요) 

 

core에 비해 사용법은 간단하다.

그냥 자바의 내장함수를 사용한다고 생각하면 될 것 같다.

마찬가지로 많이 사용하는 fn태그 몇 가지만 살펴보도록 하겠다.

 

  • contains()
${fn:contains("A문자열", "B문자열")}
${fn:containsIgnoreCase("A문자열", "B문자열")}

  - A문자열에 B문자열이 포함되어 있는지를 불리언 값으로 리턴한다.

  - contains()는 대소문자를 구분하고,  containsIgnoreCase()는 구분하지 않는다.

 

 

  • split()
${fn:split("문자열", "구분자")}

  - 구분자를 기준으로 문자열을 잘라 배열로 리턴한다.

 

 

  • toLowerCase() & toUpperCase()
${fn:toLowerCase("문자열")}
${fn:toUpperCase("문자열")}

  - toLowerCase() 는 소문자로 변경하여 반환

  - toUpperCase() 는 대문자로 변경하여 반환

 

 

 

6. fmt ( I18N ) 태그

(<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 선언 필요)

 

포맷에 관련된 태그로 

지역 정보를 입력해 그 지역에 관련된 데이터를 얻거나

시간 정보 등을 획득할 수 있는 태그이다.

 

 

  • setBundle
<fmt:setBundle basename="패키지디렉토리"/>

  - 각각의 정보를 담은 패키지 디렉토리를 만들어야 사용할 수 있다.

 

  • message
<fmt:message key="messageKey"/>

  - messageKey를 출력한다.

  - 대체로 bundle이나 setBundle과 함께 사용된다.

'JAVA/JSP & Servlet' 카테고리의 다른 글
  • 한글 인코딩 문제 해결 - 한글이 깨질 때 [JSP]
  • 내장 객체란? [JSP 기초]
  • JSTL 사용하는법 [JSP 기초 ]
  • 쿠키 (Cookies) - 개념 및 활용 [JSP 기초]
gakko
gakko
좌충우돌 개발기
  • gakko
    MYVELOP 마이벨롭
    gakko
  • 전체
    오늘
    어제
    • 분류 전체보기 (203)
      • Spring (23)
        • Spring (10)
        • Spring Boot (7)
        • Spring Security (1)
        • Hibernate (4)
      • Test (3)
      • 끄적끄적 (6)
      • 활동 (35)
        • 부스트캠프 (23)
        • 동아리 (3)
        • 컨퍼런스 (3)
        • 글또 (5)
        • 오픈소스 컨트리뷰션 (1)
      • 디자인패턴 (0)
      • Git & GitHub (22)
        • Git (13)
        • Github Actions (1)
        • 오류해결 (5)
        • 기타(마크다운 등) (3)
      • 리눅스 (6)
        • 기초 (6)
        • 리눅스 서버 구축하기 (0)
      • Infra (2)
        • Docker (1)
        • Elastic Search (0)
        • Jenkins (1)
        • AWS (1)
      • MySQL (7)
        • 기초 (6)
        • Real MySQL (1)
      • 후기 (3)
        • Udemy 리뷰 (3)
      • CS (26)
        • 웹 기본지식 (0)
        • 자료구조 (13)
        • 운영체제 OS (12)
        • 데이터베이스 (1)
        • 시스템 프로그래밍 (0)
        • 기타 (0)
      • Tools (1)
        • 이클립스 (1)
        • IntelliJ (0)
      • 프로젝트 (1)
        • 모여모여(부스트캠프) (1)
      • JAVA (32)
        • Maven (6)
        • 오류해결 (11)
        • 자바 클래스&메소드 (1)
        • JSP & Servlet (12)
      • Javascript (5)
        • 기초 (3)
        • React (2)
      • Python (28)
        • 파이썬 함수 (9)
        • 알고리즘 문제풀이 (16)
        • 데이터 사이언스 (2)
        • 웹 크롤링 (1)
      • 단순정보전달글 저장소 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 우진님
  • 공지사항

  • 인기 글

  • 태그

    GitHub
    파이썬
    오류해결
    Spring
    운영체제
    웹개발
    스프링
    Git
    java
    자바스크립트
    MySQL
    부스트캠프
    부스트캠프 멤버십
    부스트캠프 7기
    스프링부트
    jsp
    자바
    Python
    os
    알고리즘
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
gakko
JSTL 태그 사용 [JSP 기초]
상단으로

티스토리툴바