메뉴 건너뛰기

조회 수 2264 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

jstl에서 조건에 따른 분기를 처리할 수 있는 태그로 <c:if> <c:choose>가 있습니다.



1. <c:if> 태그


test 속성내의 EL 의 결과가 참이면 실행됩니다. else  구문은 없습니다.


<c:set var="name" value="홍길동" />

<c:if test="${name eq '홍길동'}">

    <c:out value="${str}" />

</c:if>


위의 코드는 변수 name의 값이 "홍길동"  이면 출력합니다.


<c:if> 태그에 사용될 수 있는 속성은 다음 세 가지 입니다.


- test : 필수 속성으로 속성값으로 EL 비교식을 가집니다.

- var : 조건 결과를 저장할 변수를 지정합니다.

- scope : 조건 결과를 저장할 변수의 저장 scope을 지정합니다.


<c:if test="${name eq '홍길동'}" var="nameHong" scope="session">

</c:if>


위 코드는  test 속성의 결과를 nameHong 변수 이름으로 session 영역에 저장합니다. 동일 세션의 다른 페이지에서 결과를 찾을 수 있습니다.



2. test속성에 사용될 비교 연산자


* eq(==) : 문자열 또는 숫자가 같으면 참입니다. null 또는 빈 문자열 인지도 확인할 수 있습니다.

- <c:if test="${name == '홍길동'}">

- <c:if test="${name eq '홍길동'}">

- <c:if test="${name == null}">

- <c:if test="${name eq null}">

- <c:if test="${num == 5}">

- <c:if test="${num eq 5}">


* ne(!=) : 문자열 또는 숫자가 다르면 참입니다.

- <c:if test="${name != '홍길동'}">

- <c:if test="${name ne '홍길동'}">

- <c:if test="${num != 5}">

- <c:if test="${num ne 5}">


* empty : List 또는 배열이 비어있거나, 문자열이 null 또는 빈 문자열이면 참을 반환합니다. 숫자 0은 eq(==) 로 비교해야 합니다.

- <c:if test="${empty name}">


* not empty : List 또는 배열이 비어 있지 않을 경우, 문자열이 값이 있을 경우 참을 반환합니다.

- <c:if test="${not empty name}">



3. 논리연산자


비교연산자의 조합으로 논리 연산을 할 수 있는 논리연산자 입니다.


* and (&&) :  모두 참일때 참이 됩니다.

- <c:if test="${a > b and c < d}">

- <c:if test="${a > b && c < d}">


* or (||) : 둘중 하나라도 참이면 참이 됩니다.

- <c:if test="${a > b or c < d}">

- <c:if test="${a > b || c < d}">


* not (!) : 논리를 반전합니다.

- <c:if test="${not a == ''}">

- <c:if test="${! a == ''}">


* 괄호를 사용하여 논리연산의 우선 순위를 지정할 수 있습니다.

- <c:if test="${a > b && (b > c || d < e)}">



4. <c:choose> 태그


<c:choose> 태그는 조건에 따른 여러곳으로 분기 가능하고, 조건이 맞은 것이 없을 경우 기본 분기를 제공할 수 있습니다.

<c:choose>

<c:when test="${name eq '김철수'}"> ... </c:when>

<c:when test="${name eq '박영희'}"> ... </c:when>

<c:otherwise> ... </c:otherwise>

</c:choose>

위 코드는 이름이 "김철수", "박영희" 일 경우 분기 하고 그 외의 경우에는 <c:otherwise> 로 분기 합니다.


  1. No Image 09Mar
    by
    2021/03/09 Views 370 

    ExcelUtil

  2. 서버로부터 메시지 받아서 팝업 띄우기 (1. ModelAndView 이용)

  3. No Image 05Mar
    by
    2019/03/05 Views 1382 

    Spring source 배포 및 Tomcat Server 셋팅

  4. No Image 05Mar
    by
    2019/03/05 Views 1019 

    form에서 enctype="multipart/form-data"로 보낸 데이터를 request로 받기

  5. No Image 05Mar
    by
    2019/03/05 Views 1642 

    JAVA에서 alert창 띄우기

  6. No Image 05Mar
    by
    2019/03/05 Views 1224 

    JSTL 숫자 포맷 맞추기 (<fmt:formatNumber> 사용 예제)

  7. No Image 05Mar
    by
    2019/03/05 Views 1114 

    JSTL을 이용하여 합계 구하기

  8. No Image 05Mar
    by
    2019/03/05 Views 969 

    forEach문은 아래와 같이 활용한다.

  9. No Image 05Mar
    by
    2019/03/05 Views 1097 

    [JSTL core] [c:forEach] varStatus를 활용한 변수

  10. 전자정부표준프레임워크 파일 업로드 크기 설정(feat. MaxUploadSizeExceededException)

  11. @SessionAttributes와 SessionStatus 사용하기(세션에 모델 객체 저장)

  12. 스프링프레임워크 <form:form> 태그 사용법

  13. JSP에서 지시자(Directive) 또는 태그라이브러리에 의한 공백 라인을 제거하는 방법

  14. <c:url> 태그 사용법

  15. No Image 28Feb
    by 조쉬
    2019/02/28 Views 2264 

    JSTL - <c:if>, <c:choose> 태그 사용법

  16. 이클립스(Eclipse) 한글 언어팩 설치. Babel 프로젝트

  17. 이클립스(Eclipse) 소스 일괄 수정

  18. 전자정부프레임워크 설치 및 실행

  19. JSP에서 지시자(Directive) 또는 태그라이브러리에 의한 공백 라인을 제거하는 방법

  20. 스프링프레임워크 <form:form> 태그 사용법

Board Pagination Prev 1 2 3 Next
/ 3

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved