JSTL
표준 태그 라이브러리(JSP Standard Tag Library)는 JSP 페이지 에서 일반적인 핵심 기능을 캡슐화 하여 제공되는 JSP 태그의 컬렉 션입니다. JSTL은 일반적인 반복 및 조건, 포매팅 작업, XML 문서, 국제화 태그 및 SQL 태그 조작을 위한 태그에 대한 지원을 하고 있 습니다. 또한 JSTL 태그를 사용하여 기존 사용자 정의 태그를 통합 하기위한 프레임 워크를 제공합니다.
EL(Expression Language) 기본문법
EL(Expression Language) 기본문법
EL 문법을 사용하려면 라이브러리에 jstl.jar 와 standard.jar 파일을 넣어준다.
태그를 사용하려면javax.servlet.jsp.jstl-api-1.2.2.jar 파일을 넣어준다.
JSTL을 아래 사이트에서 설치하여 사용한다.
http://tomcat.apache.org/taglibs/standard
Apache Taglibs - Apache Standard Taglib: JSP[tm] Standard Tag Library (JSTL) implementations
<!-- Copyright 1999-2011 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/
tomcat.apache.org
내장객체 | 설명 |
pageScope | page 영역에 존재하는 객체를 참조할때 사용 |
requestScope | request 영역에 존재하는 객체를 참조할때 사용 |
sessionScope | session 영역에 존재하는 객체를 참조할때 사용 |
applicationScope | application 영역에 존재하는 객체를 참조할때 사용 |
param | 파라미터 값 얻어올때 사용 |
paramValues | 파라미터 값 배열로 얻어올때 사용 ex) 라디오, 체크박스 |
header | header 정보를 얻어올때 사용 |
headerValues | header 정보를 배열로 얻어올때 사용 |
cookie | 쿠키 객체를 참조할때 사용 |
initParam | 컨텍스트의 초기화파라미터 |
pageContext | pageContext 객체를 참조할 때 사용 |
<%@ page contentType="text/html; charset=UTF-8" %>
<%
String studyArr[] = {"Java", "JSP", "Android", "Spring"};
pageContext.setAttribute("study", studyArr);
%>
<%
pageContext.setAttribute("msg", "꿈은 이루어 진다.");
%>
<html>
<head>
<title>Expression Language</title>
</head>
<body>
<b>Java Program 과목</b><hr width="150" align="left"/>
1. ${study[0] }<br/>
2. ${study[1] }<br/>
3. ${study[2] }<br/>
4. ${study[3] }<br/>
<h2>EL의 Scope1</h2>
msg (pageContext로 받은값) : <b>${pageScope.msg}</b><p/>
1에서 10까지 합(request로 받은값 출력) : <b><%=request.getAttribute("sum") %></b><p/>
1에서 10까지 합(내장객채로 받은값 출력) : <b>${requestScope.sum}</b><p/>
</body>
</html>
JSTL 태그의 종류
태그 | 기능 |
Core | 가장 자주 사용되는 JSTL의 태그이고 일반적인 프로그래밍에서 사용되는 기능을 제공 |
Formatting | 국제화 된 웹 사이트에 대한 날짜, 시간 및 숫자 텍스트를 포맷하고 표시하는데 사용되는 기능을 제공 |
SQL | 오라클,MYSQL 또는 Micrsoft SQL Server와 같은 관계형 데이터베이스와 상호작용하는 태그를 제공 |
XML | XML 문서를 생성하고 조작하는 방법을 제공 |
Funcions | 일반적인 문자열을 가공하고 조작하기 위한 표준함수 |
💡 Core 태그
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Core 태그를 사용하기 위해서는 taglib 지시자를 선언해야한다.
태그 | 기능 |
<c:out> | <%= ... %> 펴현식과 동일하게 jsp 페이지에 출력하는 태그 |
<c:set> | 4개 영역의 JSP 저장소에 변수를 선언하는 태그 |
<c:remove> | 4개 영역의 JSP 저장소에 변수를 제거하는 태그 |
<c:if> | if문과 같은 기능의 조건을 선언하는 태그 |
<c:choose> | 다중 조건 선언을 위해 사용. <c:choose> 태그 안에 여러 조건을 <c:when>태그를 이용하여 줄수 있고 조건에 포함되지 않은 나머지 조건을 <c:otherwise> 태그를 사용하여 선언합니다. |
<c:when> | |
<c:otherwise> | |
<c:forEach> | 배열이나 Collection 객체의 요소를 사용하기 위해 제공되는 태그 |
<c:forTokens> | String Tokenizer 클래스의 기능처럼 문자열에 구분자를 제거하고 요소를 사용하기 위해 제공되는 태그 |
<c:import> | include 지시자와 같이 다른 페이지의 내용을 포함하기 위한 태그 |
<c:url> | 지정한 url 에 링크의 기능을 제공하는 태그입니다. |
<c:param> | <c:import> 와 <c:url>에서 매개변수를 선언하는 태그 |
<c:redrect> | query를 포함한 지정한 url로 웹페이지가 전환되는 태그 |
<c:catch> | try.catch와 같이 예외처리를 위한 태그 |
💡 Formatting 태그
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
포매팅 태그를 사용하기 위해서는 taglib 지시자를 선언해야 한다.
태그 | 기능 |
<fmt:requesEncoding> | 요청된 문자 인코딩을 설정하는 태그 |
<fmt:setLocale> | 사용하고자 하는 로케일(지역,국가) 및 언어를 설정하는 태그 |
<fmt:formatNumber> | 숫자를 원하는 문자열 형식으로 변환시키는 태그 |
<fmt:parseNumber> | 문자열을 원하는 숫자 형식으로 변환시키는 태그 |
<fmt:formatDate> | 날짜 및 시간을 원하는 형식으로 출력하는 태그 |
<fmt:timeZone> | 둘다 원하는 시간대 설정 변수의 타임존 설정을 위한 태그 |
<fmt:setTimeZone> | |
<fmt:bundle> | 태그 안에서 사용할 bundle 값을 지정 |
<fmt:setBundle> | 사용할 bundle 값을 지정 |
<fmt:message> | 지정된 bundle값을 가져온다. |
💡 SQL 태그
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
SQL 태그를 사용하기 위해서는 taglib 지시자를 선언해야 한다.
태그 | 기능 |
<sql:setDataSouroe> | Database Server 연결 리소스를 지정 |
<sql:query> | 태그 안에 지정된 SQL query를 실행 |
<sql:update> | 태그 안에 지정된 SQL update를 실행 |
<sql:param> | 지정된 값으로 SQL 문에서 매개 변수를 지정 |
<sql:dateParam> | 지정된 java.util.Date 의 값으로 SQL문에서 매개 변수를 설정 |
<sql:transaction> | 트랜잭션의 모든 명령문을 실행 |
💡 Functions 태그
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
functions 태그를 사용하기 위해서는 taglib 지시자를 선언해야 한다.
태그 | 기능 |
fn:length(obj) | obj 가 문자열이면 길이를 리턴하고 List나 Collection 이면 항목의 개수를 리턴 |
fn:substring(str,i,j) | str 문자열의 i 에서 j - 1 까지의 문자열을 리턴 |
fn:substringAfter(str1,str2) | str1 문자열에서 str2 문자열 이후의 문자열을 리턴 |
fn:substringBefore(str1,str2) | str1 문자열에서 str2 문자열 이전의 문자열을 리턴 |
fn:toUpperCase(str) | str 문자열을 대문자로 리턴 |
fn:toLowerCase(str) | str 문자열을 소문자로 리턴 |
fn:replace(str,src,dest) | str 문자열에 있는 src 문자열을 dest 로 변경한 문자열을 리턴 |
fn:indexOf(str1,str2) | str1 문자열에 str2로 시작된 문자열을 리턴 |
fn:startsWith(str1,str2) | str1문자열이 str2로 시작되면 참, 아니면 거짓을 리턴 |
fn:endsWith(str1,str2) | str1문자열이 str2로 끝이나면 참, 아니면 거짓을 리턴 |
fn:contains(str1,str2) | str1 문자열에 str2문자열이 포함되어 있으면 참, 아니면 거짓값을 리턴 containslgnoreCase 는 대소문자를 무시하고 비교 |
fn:containslgnoreCase(str1,str2) | |
fn:trim(str) | str 문자열을 str2문자열로 구분을 해서 배열로 리턴 |
fn:join(arr,str2) | arr 배열의 각 요소의 중간에 str2 문자열이 들어간 문자열을 리턴 |
fn:escapeXml(str) | XML 마크업으로서 해석될 수 있는 문자를 이스케이프 리턴 |
'BackEnd > Servlet · JSP' 카테고리의 다른 글
[ Project / Servlet · JSP ] 1차 과제 Model 2 방식 - (1) 게시판 만들기 ( 페이징 버튼 기능 ) (0) | 2023.02.15 |
---|---|
[ Servlet / JSP ] JDBC 연동 (0) | 2023.02.05 |
[ Servlet / JSP ] Form태그 GET · POST 데이터 · 파일 전송 (0) | 2023.02.04 |
[ Servlet / JSP ] JSP 내부 객체 / 세션과 쿠키 예제 (0) | 2023.02.02 |
[ Servlet / JSP ] JSP 액션 태그 (0) | 2023.02.02 |