Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP에서 fn:containsIgnoreCase() 함수로 대소문자 구분 없이 문자열 포함 여부 확인하는 방법

JSP 개발 시 특정 문자열 안에 원하는 하위 문자열이 포함되어 있는지 확인해야 하는 경우가 자주 있습니다. 이때 fn:containsIgnoreCase() 함수를 사용하면 대소문자를 구분하지 않고 손쉽게 포함 여부를 검사할 수 있습니다.

fn:containsIgnoreCase() 함수란?

fn:containsIgnoreCase() 함수는 JSTL(JavaServer Pages Standard Tag Library)의 functions 태그 라이브러리에 포함된 함수로, 입력 문자열에 지정된 하위 문자열이 포함되어 있는지 판별합니다. 일반적인 fn:contains() 함수와 달리 검색 시 대소문자를 무시한다는 점이 가장 큰 특징입니다.

예를 들어 "test", "TEST", "Test" 모두 동일한 것으로 취급되어 검색됩니다.

구문

fn:containsIgnoreCase() 함수의 기본 구문은 다음과 같습니다 −

boolean containsIgnoreCase(java.lang.String, java.lang.String)

함수는 두 개의 문자열 인자를 받습니다. 첫 번째 인자는 검색 대상이 되는 입력 문자열이고, 두 번째 인자는 찾고자 하는 하위 문자열입니다. 하위 문자열이 포함되어 있으면 true, 그렇지 않으면 false를 반환합니다.

예제

다음 예제는 fn:containsIgnoreCase() 함수의 동작 방식을 보여줍니다 −

<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "https://java.sun.com/jsp/jstl/functions" prefix = "fn" %>
<html>
   <head>
      <title>Using JSTL Functions</title>
   </head>
   <body>
      <c:set var = "theString" value = "I am a test String"/>
      <c:if test = "${fn:containsIgnoreCase(theString, 'test')}">
         <p>Found test string<p>
      </c:if>
      <c:if test = "${fn:containsIgnoreCase(theString, 'TEST')}">
         <p>Found TEST string<p>
      </c:if>
   </body>
</html>

위 코드에서는 먼저 <c:set> 태그를 사용하여 "I am a test String"이라는 문자열을 변수 theString에 저장합니다. 그런 다음 두 개의 <c:if> 조건문에서 각각 소문자 "test"와 대문자 "TEST"를 검색합니다.

두 경우 모두 대소문자와 관계없이 문자열이 포함되어 있으므로, 두 조건식 모두 true가 되어 내용이 출력됩니다.

실행 결과

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다 −

Found test string
Found TEST string

정리

fn:containsIgnoreCase() 함수는 대소문자 구분 없이 문자열 포함 여부를 확인해야 할 때 매우 유용합니다. 사용자 입력 검증, 검색 기능 구현 등 대소문자를 신경 쓰지 않아도 되는 상황에서 코드를 간결하게 유지할 수 있도록 도와줍니다. 사용하려면 반드시 JSP 페이지 상단에 functions 태그 라이브러리(prefix = "fn")를 선언해야 한다는 점을 기억하세요.