taglib 지시문을 이용하여 선언하고 접두어를 이용하여 사용한다.
<!-- 선언부 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!-- 사용-->
<c:set var="hello" value="Hello" />
${hello}
변수의 출력 기능을 한다. JSP의 표현식(<%= %>)을 대체하는 기능이다.
Java | JSTL |
for <---------> | c:forEach |
if <---------> | c:if |
if-else if-else <--------> | c:choose c:otherwise |
switch-case <--------> e.g) |
JSTL 의 사용하기 위해서 jar 파일 다운로드 필요.
(maven을 사용 시 자동다운로드 가능..)
EL (Expression Language)
스크립트릿<%= %> 대신해서 편리하게 출력하는 기능 제공.
e.g ) <%= name %> ⇢ ${ name }
스크립트릿을 html태그 사이에 위치할시 가독성 매우 떨어짐. 이러한 단점 보완하기 위한 표현어.
jstl functions (jstl fn) 정리
jstl functions 를 사용하겠다고 선언
1 | <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | cs |
단독으로 사용할 수 없고 EL 표현식과 함께 사용해야 한다.
ex. ${fn:contains(str, str)} ${fn:split(str, '|')}
|
fn:contains(string, sbustring)
string이 substring을 포함하면 return true 반환
fn:containsIgnoreCase(string, sbustring)
대소문자 관계없이 string이 substring을 포함하면 return true 반환
fn:startsWith(string, prefix)
string이 prefix로 시작하면 return True
fn:endsWith(string, suffix)
string이 suffix로 끝나면 return True
fn:escapeXml(string)
stting에 XML과 HTML에서 < >& ' " 문자들이 있으면, XML엔티티 코드로 바꿔준뒤 문자열 반환
fn:indexOf(string, sbustring)
string에서 substring이 처음으로 나타나는 인덱스 반환
fn:split(string, separator)
string내의 문자열 separetor에 따라 나누어서 배열로 구성해서 반환
fn:join(array, separator)
array요소들을 separator를 구분자로 하여 연결해서 반환
fn:length(item)
item이 배열이나 컬렉션이면 요소의 개수를 문자열이면 문자의 개수를 반환
fn:replace(string, before, after)
string내에 있는 before 문자열을 after 문자열로 모두 변경해서 반환
fn:substring(string, begin, end)
string에서 begin인덱스에서 시작해서 end인덱스에 끝나는 부분의 문자열 반환
fn:substringAfter(string, sbustring)
string에서 substring이 나타나는 이후의 문자열 반환
fn:substringBefore(string, sbustring)
string에서 substring이 나타나는 이전의 문자열 반환
fn:toLowerCase(string)
string을 모두 소문자로 변경 후 리턴
fn:toUpperCase(string)
string을 모두 대문자로 변경 후 리턴
fn:trim(string)
string앞뒤의 공백을 모두 제거한 후 반환
'Back-end > JAVA,Spring' 카테고리의 다른 글
인터페이스 Interface vs 추상클래스 abstract class (0) | 2018.08.23 |
---|---|
아파치란? 톰캣이란 ? (aka. 아파치 != 톰캣) 웹서버 vs 와스 (0) | 2018.08.11 |
Servlet 서블릿 (0) | 2018.08.10 |
JSP란 ? Java Server Pages (0) | 2018.08.07 |
HTML 이란 (0) | 2018.08.07 |