⚡ 반복문 + 조건문 , 전역변수로 값 체크
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="cr" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%
String search= request.getParameter("search");
String data[] = {"삼겹살","등심","안심","갈매기","목살","안창살"};
%>
<cr:set var="search" value="<%=search%>" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL로 SPA 검색기능 사용법</title>
</head>
<body>
<form id="frm" method="post" action="./jstl_search.jsp" onsubmit="return spa_form()">
검색어 : <input type="text" name="search" value="${search}">
<input type="submit" value="검색">
</form>
<br>
<p>[ ${search} ] 검색결과</p>
<ul>
<!-- indexOf를 이용하여 검색된 값과 배열의 적용된 단어를 검토하여 출력하는 형태 - 요렇게 해두댐 -->
<!-- <cr:forEach var="ck" items="<%=data %>">
<cr:if test="${fn:indexOf(ck,search)!=-1}">
${ck}
</cr:if>
</cr:forEach> -->
<cr:set var="check" value="N"/>
<cr:forEach var="dt" items="<%=data %>">
<cr:choose>
<cr:when test="${search == dt && search != ''}">
<li>${dt}</li>
<cr:set var="check" value="Y"/>
</cr:when>
<cr:when test="${search == ''}">
<li>${dt}</li>
<cr:set var="check" value=""/>
</cr:when>
</cr:choose>
</cr:forEach>
<cr:if test="${check=='N'}">
<li>해당 메뉴는 없는 데이터입니다.</li>
</cr:if>
</ul>
</body>
<script>
function spa_form(){
frm.submit();
}
</script>
</html>
리스트에 검색값이 있을 경우
리스트에 검색값이 없을 경우