minlog
article thumbnail

 

JSTL

표준 태그 라이브러리(JSP Standard Tag Library)는 JSP 페이지 에서 일반적인 핵심 기능을 캡슐화 하여 제공되는 JSP 태그의 컬렉 션입니다. JSTL은 일반적인 반복 및 조건, 포매팅 작업, XML 문서, 국제화 태그 및 SQL 태그 조작을 위한 태그에 대한 지원을 하고 있 습니다. 또한 JSTL 태그를 사용하여 기존 사용자 정의 태그를 통합 하기위한 프레임 워크를 제공합니다.

 

 

EL(Expression Language) 기본문법

 

EL(Expression Language) 기본문법

EL 문법을 사용하려면 라이브러리에 jstl.jarstandard.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 마크업으로서 해석될 수 있는 문자를 이스케이프 리턴

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!