CLASS/SPRING,JSTL
#6-7 / JSTL - SPA 검색 기능 사용법
hingu
2024. 7. 15. 16:03
⚡ 반복문 + 조건문 , 전역변수로 값 체크
<%@ 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>
리스트에 검색값이 있을 경우 리스트에 검색값이 없을 경우