본문 바로가기
교재 실습/자바 웹 개발 워크북

58. JSTL 사용하기 (3)

by Jint 2022. 6. 30.

- <c:remove> 태그

보관소에 값을 저장하는 태그가 있으면, 보관소에 저장된 값을 제거하는 태그는 <c:remove> 태그이다. var 속성에 이름을 지정하면, 보관소에서 해당 이름을 가진 값을 제거한다. 물론 scope 속성으로 보관소를 명시할 수 있다. scope의 기본값은 page 이다.

● 문법
<c:remove var="변수명" scope="page|request|session|application"/>

다음 예제 코드를 테스트 한다.

<%//<c:remove>태그 예제%>
<h2>c:remove 태그</h2>
<h3>보관소에 저장된 값 제거</h3>
<% pageContext.setAttribute("username1", "홍길동"); %>
1) ${username1}<br>
<c:remove var="username1"/>
2) ${username1}<br>

앞의 코드를 실행한 결과는 다음과 같다(그림 1).

그림 1 (실행 결과)

<c:remove> 태그를 사용하기 전에는 usename1 값이 정상적으로 출력되지만, 사용한 후에는 값이 출력되지 않는다. JspContext 보관소에서 제거되었기 때문이다.

 

-<c:if> 태그

이 태그의 test 속성값이 참이면, 콘텐츠가 실행된다. 참거짓 테스트 결과를 보관소에 저장할 수도 있다.

● 문법
<c:if test="조건" var="변수명" scope="page|request|session|application">
    콘텐츠
</c:if>

다음 예제 코드를 테스트 한다.

<%//<c:if>태그 예제%>
<h2>c:if 태그</h2>
<c:if test="${10 > 20}" var="result1">
1) 10은 20보다 크다.<br>
</c:if>
2) ${result1}<br>

<c:if test="${10 < 20}" var="result2">
3) 10은 20보다 크다.<br>
</c:if>
4) ${result2}<br>

${10 > 20}의 계산 값이 false이기 때문에 1)은 출력되지 않았다. 또한, result 이름으로 저장된 값을 출력해 보면 false 이다. 3)은 ${10 < 20}의 계산 값이 true이기 때문에 출력된다. 따라서 4)의 출력 결과가 true 이다(그림 2).

그림 2 (실행 결과)

 

- <c:choose> 태그

자바의 switch.. case.. 등과 같은 기능을 수행한다. 즉 여러가지 조건에 따라 다른 작업을 해야 할 필요가 있을 때 이 태그를 사용한다.

● 문법
<c:choose>
    <c:when test="참거짓 값"></c:when>
    <c:when test="참거짓 값"></c:when>
    ...
    <c:otherwise></otherwise>
</c:choose>

<c:when> 태그는 한 개 이상 있어야 한다. <c:otherwise> 태그는 0 또는 한 개가 올 수 있다.

<%//<c:choose>태그 예제%>
<h2>c:choose 태그</h2>
<c:set var="userid" value="admin"/>
<c:choose>
  <c:when test="${userid == 'hong'}">
    홍길동님 반갑습니다.
  </c:when>
  <c:when test="${userid == 'leem'}">
    임꺽정님 반갑습니다.
  </c:when>
  <c:when test="${userid == 'admin'}">
    관리자 전용 페이지입니다.
  </c:when>
  <c:otherwise>
    등록되지 않은 사용자입니다.
  </c:otherwise>
</c:choose>

userid의 값이 admin 이기 때문에 세 번째 <c:when> 태그의 콘텐츠가 실행된다. 만약 <c:when>의 조건에 일치하는 것이 하나도 없을 때는 <c:otherwise> 태그의 콘텐츠가 실행된다(그림 3).

그림 3 (실행 결과)

 

참고도서 : https://freelec.co.kr/book/1674/

 

[열혈강의] 자바 웹 개발 워크북

[열혈강의] 자바 웹 개발 워크북

freelec.co.kr

'교재 실습 > 자바 웹 개발 워크북' 카테고리의 다른 글

60. JSTL 사용하기 (5)  (0) 2022.07.04
59. JSTL 사용하기 (4)  (0) 2022.07.03
57. JSTL 사용하기 (2)  (0) 2022.06.29
56. JSTL 사용하기 (1)  (0) 2022.06.28
55. EL 사용하기 (4)  (0) 2022.06.27

댓글