EL구문
${...}
- page scope : 하나의 JSP 페이지에서만 사용
- request scope : 하나의 요청(request)에서만 사용할 수 있는 영역
- session scope : 하나의 웹 브라우저에서 사용할 수 있는 영역
- application scope : 웹 어플리케이션 영역
💡 예시
<!-- request의 result를 가져오고 싶을 때 -->
${requestScope.result } 입니다.<br>
${param.num }<br>
+, -, * , /(div), %(mode)
&&(and), ||(or), !(not)
-비교연산자
==(eq), !=(ne), <(lt), >(gt), <=(le), >=(ge)
💡 예시
주소 : http://localhost:8081/el_test.jsp?num=5
${param.num gt 3 } // true
${empty ""} -> true
${empty null} -> true
${empty data} -> 값이 없으면 true, 값이 있으면 data
💡 예시
주소 : http://localhost:8081/el_test.jsp?num=5
<!-- 파라미터 num의 값이 empty? true/false -->
${empty param.num }<br>
${not empty param.num }<br>
${empty param.num?'값이 비어있습니다':param.num }<br>
👍 결과
request.setAttribute("cnt",30);
- 위의 값 꺼내기
-> EL문 미사용 : request.getAttribute("cnt");
-> EL문 사용 : ${cnt}
List list = new ArrayList<>{"1", "test", ...};
request.setAttribute("list",list)
- 위의 값 꺼내기
-> EL문 미사용 : (List)request.getAttribute("list").get(0)
-> EL문 사용 : ${list[0]}
① 해당 사이트에서 1.1.2 검색 후 ZIP파일 다운
JSTL 라이브러리 다운
② 다운 받은 폴더 > lib > 파일 2개 복사
③ 이클립스에서 build path 잡아주기
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
- 접두사 c를 사용해서 jstl 사용 할 것
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
- 접두사 fn을 사용해서 jstl 함수 사용 할 것
<c:set />
💡 예시
<c:set var="userid" value="apple" scope="page"/>
<c:set var = "userid" value="${param.userid }"/>
<c:out></c:out>
<c:choose></c:choose>
<c:when></c:when>
<c:otherwise></c:otherwise>
💡 예시
<c:set var="num" value="100"/>
<c:choose>
<c:when test="${num gt 50 }">
이 수는 50보다 큽니다.
</c:when>
<c:when test="${num gt 30 }">
이 수는 30보다 큽니다.
</c:when>
<c:when test="${num gt 10 }">
이 수는 10보다 큽니다.
</c:when>
<c:otherwise>
이 수는 그 외의 숫자 입니다.
</c:otherwise>
</c:choose>
<c:forEach></c:forEach>
💡 예시
<c:set var="arData" value="<%=new int[]{10, 20, 30, 40, 50} %>"/>
<c:forEach var="i" begin="0" end="4" step="1">
${arData[i] }
</c:forEach>
<!-- 같은 식 변형 --!>
<c:forEach var="data" items="${arData }">
${data }
</c:forEach>
<c:if></c:if>
💡 예시
<c:if test="${num gt 50 }">
<script>
alert("이 수는 50보다 크다");
</script>
</c:if>
💡 예시
<%
HashMap<String, String > map = new HashMap<>();
map.put("1","1");
map.put("2","2");
map.put("3","3");
map.put("4","4");
map.put("5","5");
%>
<c:set var="map" value="<%=map %>"/>
<c:set var="str1" value="jstlfn"/>
<br>length(map) : ${fn:length(map) }
<br>length(str1) : ${fn:length(str1) }
<br>toUpperCase(str1) : ${fn:toUpperCase(str1) }
<br>toLowerCase(str1) : ${fn:toLowerCase(str1) }
<br>substring(str1) : ${fn:substring(str1, 1, 3) }
👍 결과