본문 바로가기
Delvelopment/Spring

JSP/JSTL 태그, 내장함수 ( <c:if>, <c:choose>, fn:length() 등...)

by 제제킴 2020. 4. 19.
반응형

c:if, c:choose 태그와 fn:length, fn:contain 등의 함수 정리

 

  • <c:if>
    • if else는 없다 필요하다면 choose 태그를 사용해야한다.
<c:if test="${num ge 0}">
    <c:out value="${str}" />
</c:if>

 

  • <c:choose>
    • 해당 태그는 조건에 따른 다중 분기처리가 가능하다.

 

<c:choose>
<c:when test="${num eq 0}">
    <c:out value="${str0}" />
</c:when>

<c:when test="${num eq 1}">
    <c:out value="${str1}" />
</c:when>

<c:when test="${num eq 2}">
    <c:out value="${str2}" />
</c:when>

<c:choose>

 

 

JSTL 함수

https://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/tld-summary.html

오라클 공홈에 공유된 정보이다.

 

 

  • ${fn:contains(str, str)}
    • return boolean
    • 대소문자 구분.
${fn:contains("HelloWorld!!", "World")} // true
${fn:contains("HelloWorld!!", "world")} // false
  • ${fn:containsIgnoreCase(str, str)}
    • return boolean
    • 대소문자 구분없음.
${fn:containsIgnoreCase("Hello World!!", "World")} // true
${fn:containsIgnoreCase("Hello World!!", "world")} // true

 

 

  • ${fn:endsWith(str, str)}
    • return boolean
    • 첫번째 파라미터의 값이 두번째 파라미터의 값으로 끝나면 true
${fn:endsWith("Hello World!!", "!!")} // true
${fn:endsWith("Hello World!!", "World")} // false

 

  • ${fn:escapeXml(str)}
    • return str
    • XML, HTML의 ' < , > * "" 문자들을 &lt; &gt; &amp; &#039; &#034; 으로 변경

 

<c:out value="${fn:escapeXml('<>')}"/> // &lt;&gt;

 

  • ${fn:indexOf(str, str)}
    • return int
    • 첫번째 문자열중 두번째파라미터의 값의 위치 반환.
${fn:indexOf("Hello World!!", "W")} // 6

 

  • ${fn:join(arr[], str)}
    • return str
    • 배열의 값들을 두번째 파라미터의 값으로 이어서 연결한다.
texts[] = {"Hello", "World", "!!"}
<c:out value="${fn:join(texts, '_')}"/> // Hello_World_!!

 

 

  • ${fn:length(obj)}  or ${fn:length(str)}  
    • return int
    • 배열이나 컬렉션의 개수를 반환한다.
<c:set var="texts" value="Hello Wor"/>
${fn:length(texts)} // 9
${fn:length("Hello World!!")} // 13

 

  • ${fn:replace( str, str, str)} 
    • return str
    • 첫번째 파라미터내에 있는 두번째 파라미터 str을 세번째 파라미터 str로 변경한다.
${fn:replace("Hello work!!", "work", "World")} // Hello World!!

 

 

 

  • ${fn:split(str, str}
    • return arr[]
<c:set var="texts" value="${fn:split('Hello World !!', ' ')}"/>
texts --> { "Hello", "World", "!!" }

 

  • ${fn:startsWith(str, str)} 
    • return arr[]
    • 첫 파라미터의 시작이 두번째 파라미터로 시작하면 true
${fn:startsWith("Hello World!!", "Hello")} // true
${fn:startsWith("Hello World!!", "llo")} // false

 

 

  • ${fn:substring(str, int, int)}
    • return str
    • 첫 파라미터 str의 시작 인덱스 (두번쨰 파라미터) 마지막 인덱스 (세번쨰 파라미터) 의 값을 리턴한다
<c:set var="text" value="Hello World!!"/>
${fn:substring(text, 0, 4)} // Hello

 

  • ${fn:substringAfter(str, str)}
    • return str
    • 첫 파라미터 str에서 두번째 파라미터의 값이 있는 부분부터 끝까지 리턴
<c:set var="text" value="Hello World!!"/>
${fn:substringAfter(text, "Wor")} // ld!!

 

  • ${fn:substringBefore(str, str)}
    • return str
    • 첫 파라미터 str에서 두번쨰 파라미터 값이 있는 이전의 부분을 리턴
<c:set var="text" value="Hello World!!"/>
${fn:substringBefore(text, "Wor")} // Hello 

 

  • ${fn:toLowerCase(str)}
    • return str
    • 모두 소문자로 리턴
<c:set var="text" value="Hello World!!"/>
${fn:toLowerCase(text)} // hello world!!

 

  • ${fn:toUpperCase(str)}
    • return str
    • 모두 대문자로 리턴
<c:set var="text" value="Hello World!!"/>
${fn:toUpperCase(text)} // HELLO WORLD!!

 

  • ${fn:trim(str)}
    • return str
    • 앞뒤 공백을 제거한다.
<c:set var="text" value="      Hello World!!      "/>
${fn:length(text)}  // 25
<c:set var="text" value="${fn:trim(text)}"/>
${fn:length(text)}  // 13

 

 

 

 

2020/04/19 - [Delvelopment/Etc.] - JSP/JSTL 문법 정리 (==, !=, <, > 등 ) 사용법

 

 

반응형

댓글