JAVA코드와 HTML코드가 섞여 있으면 가독성이 떨어진다.
- 값을 간결하고 간편하게 출력할 수 있도록 해 주는 언어
<%= %>,out.println()과 같은 자바 코드를 대체
${...}
- 사용 예시
${sessionScope.변수이름}${param.파라미터이름}
산술연산자 :
기호표기 영문표기 +, -, * 없음 / div % mode
논리연산자 :
기호표기 영문표기 && and || or ! not
비교연산자 :
기호표기 영문표기 기호표기 영문표기 == eq != ne < lt > gt <= le >= ge
empty : 값이 null이거나 공백문자""인지를 판단하는 연산자
${empty ""}-> true${empty null}-> true${empty data}-> 데이터 값이 없으면 true, 값이 있으면 data
request.setAttribute("cnt",30); 에서 값 꺼내기request.getAttribute("cnt");${cnt}List list = new ArrayList<>{"1","test",...};request.setAttribute("list", list); 에서 값 꺼내기((List)request.getAttribute("list")).get(0)${list[0]}<c:set /> : 변수를 만들 때 사용
- 예시
<c:set var = "name" value="홍길동" />
<c:set var = "name">홍길동</c:set>
<c:out> </c:out> : 값을 출력(EL문을 더 많이 사용)
- 예시
<c:out value="${name }"/>
<c:if> </c:if> : test 속성 내의 EL결과가 참이면 실행(* else 구문은 없음)
- 예시
<c:if test="${name eq '홍길동'}"> <c:out value = "홍길동 접속" /> </c:if>
<c:choose> </c:choose> : 조건 제어(switch)
c:when, c:otherwise만 있어야 한다.<c:when> </c:when> : 조건 제어(case)문<c:otherwise> </c:otherwise> : 조건 제어(default)문
- 예시
<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> : 반복 제어(for)문
- 예시
<c:set var="arData" value="<%= new int[]{10,20,30,40,50}%>"/> // begin, end, step 옵션 <c:forEach var="i" begin="0" end="4" step="1"> ${arData[i] } </c:forEach> // items 옵션 <c:forEach var="data" items="${arData }"> ${data } </c:forEach>
- core
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>- functions
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
- 참고