기본 문법
{표현식}
으로 구성된다.🤓코드
<h3> EL = 표현언어 </h3>
<!-- EL 표현식 앞에 \ 붙이면 문자열로 인식, EL 자체가 출력 -->
\${5} = ${5} <br>
\${5*2} = ${5*2} <br>
\${5 gt 2} = ${5 gt 2} <br>
\${5 == 5 || 3 < 5} = ${5 == 5 || 3 < 5} <br>
\${5 eq 5 || 3 lt 5} = ${5 eq 5 || 3 lt 5} <br>
\${5 == 5 && 3 > 5} = ${5 == 5 && 3 > 5} <br>
\${5 > 3 ? "크다" : "작다"} = ${5 > 3 ? "크다" : "작다"} <br>
🤓실행결과
setAttribute()
/ getAttribute()
) page < request < session < application
<%
//요청 되는 순간에만 유지
request.setAttribute("id", "ayoung0302");
//같은 브라우저에서 계속 사용 가능
session.setAttribute("addr", "서울시 강남구 선릉역");
session.setAttribute("msg", "session 영역에 저장된 메세지");
//한번 저장되면 새로운 창에서 접속해도 사용 가능
application.setAttribute("msg", "application 영역에 저장된 메세지");
application.setAttribute("hobbys", new String[]{"등산","골프","수영","낚시"});
%>
<h3>Scope영역 (pageContext < request < session < application) 정보 가져오기</h3>
<hr>
아이디 : <%=request.getAttribute("id") %> / ${requestScope.id} / ${id}<br>
<hr>
주소 : <%=session.getAttribute("addr") %> / ${sessionScope.addr} / ${addr}<br>
<hr>
메시지(session) : <%=session.getAttribute("msg") %> / ${sessionScope.msg} / ${msg}<br>
<hr>
메시지(application) : <%=application.getAttribute("msg") %> / ${applicationScope.msg} / ${msg }<br>
<hr>
취미 : <%=application.getAttribute("hobbys") %> / ${applicationScope.hobbys } / ${hobbys}<br>
<hr>
<%
String name="조이";
request.setAttribute("name", name);
%>
이름 : <%=name %> / ${name}
<%@ tablib uri="URl" prefix="접두사"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> //가장 많이 사용
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
출력문
<c:out value="값 | 변수명" escapeXml="true|false" />
- 사용 예시
<c:out value="안녕"/><br> <c:out value="<h3>안녕</h3>"/><br>
escapeXml="true" 는 값에 태그 있으면 문자로 출력
변수
<c:set var="변수명" value="값" scope="page(default)|request|session|application" />
<c:set var="id" value="joy"/> <c:set var="age" value="20" scope="session"/> <c:set var="addr" value="서울" scope="application"/>
❗ value의 값은 무조건 String
만약 value="{'20'}" 이면 문자 20, value="20" 이면 문자 20
저장된 값 제거
<c:remove var="이름" />```
예외발생
<c:catch var="이름"> 예외발생 가능성 코드 </c:catch>```
조건문
<c:if test="조건식" var="결과저장할이름" > 결과가 true일때 실행문장. </c:if> ```
조건식이 true면 실행문장이 실행
Java의 Switch-case문과 같은 기능
<c:when test="조건식"> 실행문장 </c:when> <c:when test="조건식"> 실행문장 </c:when> <c:when test="조건식"> 실행문장 </c:when> .... <c:otherwise> 위조건이외의 경우 실행문장 </c:otherwise> </c:choose>```
반복문 or 배열
<c:forEach var="이름" begin="시작" end="끝" step="단계" items="항목" varStatus="현재상태에대한값" > ${상태나타내는변수.index} ${상태나타내는변수.count} ${이름} </c:forEach>