변수 선언 : c:set
JSTL로 변수 선언하기
* 변수 선언과 동시에 초기화
<c:set var="num1" value="10"></c:set>
num1 : ${num1}
${ 변수명} 을 통해서 출력
scope="request" -> scope를 설정할 수 있다
<c:set var="num2" value="20" scope="request">
value 속성 대신 시작태그와 종료태그 사이에 초기값을 지정 가능하다
</c:set>
변수 삭제 : <c:remove var="삭제할 변수명" [scope="삭제할 scope"] >
해당 scope에 removeAttribute()를 사용하여 제거하는 것과 동일하게 처리
<p>addNum : ${addNum} </p>
<c:remove var="addNum" scope="session"/>
<p>제거 후 addNum : ${addNum}</p> <!-- 공백으로 표시됨 -->
<p>page scope에 저장된 result : ${pageScope.result}</p>
<p>request scope에 저장된 result : ${request.result}</p>
모든 스코프에서 제거 스코프를 지정을 안할 시
모든 스코프에서 해당 변수명을 삭제한다
* 변수 데이터 출력 :
<c:out value="출력하고자 하는 값" [defaul="기본값"] escapeXml= [true|false] = 기본값 true>
<c:out value="${addNum}" default="데이터없음"/>
addNum에 해당하는 값이 없으면 일반적으로 빈값이 출력되지만
defaul를 설정하면 default에 담긴 값이 나온다.
<c:set var="outData" value="<b>강조태그!!!</b>"/>
<c:out value="${outData}" escapeXml="false"/>
c:set으로 설정된 outData에 담긴 값은 태그 b태그를 포함해서
선언이 되어있다.
escapeXml이 true일 경우 해당 b태그는 입력된 그래도 (해석을 하지 않은 상태로 출력을 하게 된다)
escapeXml에 false를 줄 경우 b태그는 해석을 한 상태 즉 b태그 영향을 받는 상태로 출력이 된다.
조건문 : (c:if test="조건식")
Java의 if문과 비슷한 역할을 하는 태그이다
조건식은 test 속성에 작성한다(EL 구문을 사용하여 작성한다)
<c:if test="${num1 > num2}">
num1이 num2보다 크다아아아아아아앙
</c:if>
test에 비교할 ${} EL문을 사용을 하여
조건식 비교
<c:if test="${num2 gt num1}">
num2이 num1보다 크다아아아아아아앙
</c:if>
else if :
Java의 if - else, if - else if 문과 비슷하게 동작하는 태그이다
<c:choose>
<c:when test="${num1 gt 20}">20보다 큼</c:when>
<c:when test="${num1 ge 10}"><h4>10보다 크거나 같음</h4></c:when>
<c:otherwise>10보다 작음</c:otherwise>
</c:choose>
<hr>
choose 구문 안에
when을 통해서 조건식 비교
otherwise는 자바의 else문과 같은 역할을 한다.