πŸ’» Programming/JSP

[JSP] JSTL ( JSP Standard Tag Library )

μΌ€μ΄μΉ˜ 2019. 2. 15. 13:43

JSTL λŠ” μœ μš©ν•œ JSP νƒœκ·Έλ“€μ„ λͺ¨μ•„놓은 λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€. μ»€μŠ€ν…€ νƒœκ·Έλ₯Ό JSTL tags와 톡합할 수 μžˆλŠ” ν”„λ ˆμž„μ›Œν¬λ„ μ œκ³΅ν•˜λ―€λ‘œ μ•Œμ•„λ‘μ‹œλ©΄ μ’‹μ„κ±°μ—μš”. 

JSTLνƒœκ·ΈλŠ” κΈ°λŠ₯λ³„λ‘œ λΆ„λ₯˜κ°€ λ©λ‹ˆλ‹€.  

  • Core Tags

  • Formatting tags

  • SQL tags

  • XML tags

  • JSTL Functions


JSTL μ„€μΉ˜ν•˜κΈ°

Apache Tomcat container λ₯Ό μ‚¬μš©μ€‘μ΄λ©΄ μ•„λž˜ 두가지 μŠ€ν…μœΌλ‘œ μ„€μΉ˜κ°€ μ™„λ£Œλ©λ‹ˆλ‹€.

  • Apache Standard Taglib μ΄κ³³μ—μ„œ 라이브러리λ₯Ό λ‹€μš΄λ‘œλ“œν•˜κ³  압좕을 ν’€μ–΄μ£Όμ„Έμš”.

  • 압좕이 ν’€λ¦° λ””λ ‰ν† λ¦¬λ‚΄μ˜ libλ””λ ‰ν† λ¦¬μ˜ JAR νŒŒμΌλ“€μ„ μ—¬λŸ¬λΆ„μ΄ μ‚¬μš©ν•˜λ €λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ webapps\ROOT\WEB-INF\lib λ””λ ‰ν† λ¦¬μ•ˆμ— λ„£μ–΄μ£Όμ„Έμš”. ( μ΄κ±°λŠ” μ΄ν΄λ¦½μŠ€μ—μ„œ 직접 ν•˜μ‹€ 수 μžˆλŠ”κ±΄ μ•„μ‹œμ£ ? )  

νƒœκ·ΈλΌμ΄λΈŒλŸ¬λ¦¬λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ <taglib> λ””λ ‰ν‹°λΈŒλ₯Ό JSP νŽ˜μ΄μ§€ 제일 μœ„μͺ½μ— μ„ μ–Έν•΄μ£Όμ…”μ•Ό ν•©λ‹ˆλ‹€.  


Core Tags:

JSTL νƒœκ·Έ μ€‘μ—μ„œ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” νƒœκ·Έμž…λ‹ˆλ‹€.  

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

 

TagDescription
<c:out >Like <%= ... >, but for expressions.
<c:set >Sets the result of an expression evaluation in a 'scope'
<c:remove >Removes a scoped variable (from a particular scope, if specified).
<c:catch>Catches any Throwable that occurs in its body and optionally exposes it.
<c:if>Simple conditional tag which evalutes its body if the supplied condition is true.
<c:choose>Simple conditional tag that establishes a context for mutually exclusive conditional operations, marked by <when> and <otherwise>
<c:when>Subtag of <choose> that includes its body if its condition evalutes to 'true'.
<c:otherwise >Subtag of <choose> that follows <when> tags and runs only if all of the prior conditions evaluated to 'false'.
<c:import>Retrieves an absolute or relative URL and exposes its contents to either the page, a String in 'var', or a Reader in 'varReader'.
<c:forEach >The basic iteration tag, accepting many different collection types and supporting subsetting and other functionality .
<c:forTokens>Iterates over tokens, separated by the supplied delimeters.
<c:param>Adds a parameter to a containing 'import' tag's URL.
<c:redirect >Redirects to a new URL.
<c:url>Creates a URL with optional query parameters


Formatting tags:

ν¬λ§€νŒ… κ΄€λ ¨ νƒœκ·Έλ“€μž…λ‹ˆλ‹€.닀ꡭ적 Web μ‚¬μ΄νŠΈλ₯Ό λ§Œλ“€λ•Œ μœ μš©ν•˜λ‹€κ³  ν•˜λ„€μš”.

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

 

TagDescription
<fmt:formatNumber>To render numerical value with specific precision or format.
<fmt:parseNumber>Parses the string representation of a number, currency, or percentage.
<fmt:formatDate>Formats a date and/or time using the supplied styles and pattern
<fmt:parseDate>Parses the string representation of a date and/or time
<fmt:bundle>Loads a resource bundle to be used by its tag body.
<fmt:setLocale>Stores the given locale in the locale configuration variable.
<fmt:setBundle>Loads a resource bundle and stores it in the named scoped variable or the bundle configuration variable.
<fmt:timeZone>Specifies the time zone for any time formatting or parsing actions nested in its body.
<fmt:setTimeZone>Stores the given time zone in the time zone configuration variable
<fmt:message>To display an internationalized message.
<fmt:requestEncoding>Sets the request character encoding


SQL tags:

JSTL SQL νƒœκ·ΈλŠ” κ΄€κ³„ν˜• λ°μ΄νƒ€λ² μ΄μŠ€ μ‹œμŠ€ν…œμ„ 핸듀링할 수 μžˆμŠ΅λ‹ˆλ‹€. ( Oracle, MySQL, Microsoft SQL Server )

<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

 

TagDescription
<sql:setDataSource>Creates a simple DataSource suitable only for prototyping
<sql:query>Executes the SQL query defined in its body or through the sql attribute.
<sql:update>Executes the SQL update defined in its body or through the sql attribute.
<sql:param>Sets a parameter in an SQL statement to the specified value.
<sql:dateParam>Sets a parameter in an SQL statement to the specified java.util.Date value.
<sql:transaction >Provides nested database action elements with a shared Connection, set up to execute all statements as one transaction.


XML tags:

JSTL XML νƒœκ·ΈλŠ” JSPμ—μ„œ XML λ¬Έμ„œλ₯Ό 생성 및 μ‘°μž‘ν•  수 μžˆλ„λ‘ ν•΄μ€λ‹ˆλ‹€. ν•˜μ§€λ§Œ XML을 νŒŒμ‹±ν•˜κ±°λ‚˜ 데이타λ₯Ό λ³€ν™˜ν•˜κ±°λ‚˜ XPath ν‘œν˜„μ‹μ„ μ‚¬μš©ν•˜λ €λ©΄ 좔가적인 μ»€μŠ€ν…€ νƒœκ·Έκ°€ ν•„μš”ν•©λ‹ˆλ‹€.  

<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

μ•„λž˜μ˜ 두 jarνŒŒμΌλ„ <Tomcat Installation Directory>\lib 에 μΆ”κ°€ν•΄μ£Όμ…”μ•Ό ν•©λ‹ˆλ‹€. 

 

TagDescription
<x:out>Like <%= ... >, but for XPath expressions.
<x:parse>Use to parse XML data specified either via an attribute or in the tag body.
<x:set >Sets a variable to the value of an XPath expression.
<x:if >Evaluates a test XPath expression and if it is true, it processes its body. If the test condition is false, the body is ignored.
<x:forEach>To loop over nodes in an XML document.
<x:choose>Simple conditional tag that establishes a context for mutually exclusive conditional operations, marked by <when> and <otherwise>
<x:when >Subtag of <choose> that includes its body if its expression evalutes to 'true'
<x:otherwise >Subtag of <choose> that follows <when> tags and runs only if all of the prior conditions evaluated to 'false'
<x:transform >Applies an XSL transformation on a XML document
<x:param >Use along with the transform tag to set a parameter in the XSLT stylesheet


JSTL Functions:

JSTL 은 ν‘œμ€€ ν•¨μˆ˜λ“€μ„ μ œκ³΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λŒ€λΆ€λΆ„ μŠ€νŠΈλ§κ΄€λ ¨ ν•¨μˆ˜λ“€μ΄μ£ .

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 

FunctionDescription
fn:contains()Tests if an input string contains the specified substring.
fn:containsIgnoreCase()Tests if an input string contains the specified substring in a case insensitive way.
fn:endsWith()Tests if an input string ends with the specified suffix.
fn:escapeXml()Escapes characters that could be interpreted as XML markup.
fn:indexOf()Returns the index withing a string of the first occurrence of a specified substring.
fn:join()Joins all elements of an array into a string.
fn:length()Returns the number of items in a collection, or the number of characters in a string.
fn:replace()Returns a string resulting from replacing in an input string all occurrences with a given string.
fn:split()Splits a string into an array of substrings.
fn:startsWith()Tests if an input string starts with the specified prefix.
fn:substring()Returns a subset of a string.
fn:substringAfter()Returns a subset of a string following a specific substring.
fn:substringBefore()Returns a subset of a string before a specific substring.
fn:toLowerCase()Converts all of the characters of a string to lower case.
fn:toUpperCase()Converts all of the characters of a string to upper case.
fn:trim()Removes white spaces from both ends of a string.

 

 

 

Reference : http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm