JSTL - 조건문 처리
Back-End/Spring 2019. 8. 16. 13:531. <c:if> 태그
test 속성내의 EL의 결과가 참이면 실행됩니다. else 구문은 없습니다.
name의 값이 홍길동이면 출력하는 구문
<c:set var = "name" value = "홍길동" /> <c:if test = "${name eq '홍길동'}" > <c:out value = "${str}" /> </c:if> |
<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}">
- <c:if test="${name != '홍길동'}"> - <c:if test="${name ne '홍길동'}"> - <c:if test="${num != 5}"> - <c:if test="${num ne 5}">
숫자 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}">
- <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 == ''}"> |
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> 로 분기 합니다.
출처
https://offbyone.tistory.com/367 [쉬고 싶은 개발자]
'Back-End > Spring' 카테고리의 다른 글
Spring 게시판 게시글 추천 기능 구현 (내 프로젝트에 적용) (2) | 2019.08.21 |
---|---|
Spring 게시판 댓글 관련 기능 구현 - 댓글 작성, 수정, 삭제 (내 프로젝트에 적용) (0) | 2019.08.21 |
ajax로 데이터 넘기기 (0) | 2019.08.14 |
Spring 게시판 게시글 쓰기(ckeditor 사용), 게시글 상세보기 (내 프로젝트에 적용) (0) | 2019.08.12 |
Spring 게시판 검색기능 구현 (내 프로젝트에 적용) (2) | 2019.08.09 |