JSTL에서 제공하는 fn:indexOf() 함수는 문자열 안에서 지정된 부분 문자열이 처음 나타나는 위치의 인덱스를 반환합니다. 인덱스는 0부터 시작하며, 만약 해당 부분 문자열이 존재하지 않으면 -1을 반환합니다.
문법
fn:indexOf() 함수는 다음과 같은 형식으로 사용합니다.
int indexOf(java.lang.String, java.lang.String)
첫 번째 매개변수는 검색 대상이 되는 원본 문자열이고, 두 번째 매개변수는 찾고자 하는 부분 문자열입니다.
예제
다음 예제를 통해 fn:indexOf() 함수의 동작 방식을 살펴보겠습니다.
<%@ 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 = "string1" value = "This is first String."/>
<c:set var = "string2" value = "This <abc>is second String.</abc>"/>
<p>Index (1) : ${fn:indexOf(string1, "first")}</p>
<p>Index (2) : ${fn:indexOf(string2, "second")}</p>
</body>
</html>위 코드에서는
Index (1) : 8 Index (2) : 13
첫 번째 결과에서 "This is "가 8글자이므로 "first"는 인덱스 8에서 시작하고, 두 번째 문자열에서 "second"는 인덱스 13에 위치함을 알 수 있습니다. 이처럼 fn:indexOf()는 문자열 검색 및 위치 기반 처리 로직을 구현할 때 유용하게 활용됩니다.