일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- jquery
- 공모주 청약
- 자바
- 코드이그나이터
- Stock ipo
- Eclipse
- 오라클
- 맥
- 6월 공모주 청약 일정
- php
- codeigniter
- JavaScript
- MYSQL
- java
- 주식 청약 일정
- 주식
- 공모주
- 자바스크립트
- 7월 공모주 청약 일정
- 리눅스
- SQL
- IPO
- 제이쿼리
- html
- Oracle
- 공모주 청약 일정
- 주식 청약
- linux
- css
- Stock
- Today
- Total
개발자의 끄적끄적
[JSTL] jstl if else 문 [펌] 본문
[JSTL] jstl if else 문 [펌]
JSTL에도 IF문과 같은 분기문을 기본으로 제공하는데, 우리가 사용하는 것과는 약간 내용상 차이가 있다.
우리는 보통 IF문을 사용할때 IF ~ ELSE IF ~ ELSE 를 이용하여 프로그래밍 코드를 작성하는데, JSTL 에서는 어떻게 작성되는지 한번 살펴보자.
단순 IF문 : <c:if> |
if문에서 else가 없는 단순 if문을 구성할때 사용할 수 있다.
<c:set var="name" value="홍길동" />
<c:if test="${name eq '홍길동'}">
홍길동이 맞습니다.
</c:if>
IF ~ ELSE 문 : <c:choose> |
우리가 많이 사용하는 if~else 문의 경우 jstl에서는 <c:choose>를 이용하여 구성하여야 한다.
<c:set var="name" value="홍길동" />
<c:choose>
<c:when test="${name eq '홍길동'}">
홍길동이 맞습니다.
</c:when>
<c:when test="${name eq '철수'}">
홍길동이 아닙니다.
</c:when>
<c:otherwise>
사람이 없습니다 ㅜㅜ
</c:otherwise>
</c:choose>
위의 구문을 jsq 코드로 표현하면 아래와 같다.
<%
String name="홍길동" ;
if("홍길동".equals(name)){
}else If("철수".equals(name)){
}else{
}
%>
비교기호 : eq, ne, empty |
if문을 사용할때에는 반드시 값과의 비교를 작성하게 되는데, jstl에서는 eq, ne와 같은 비교기호를 이용해도 된다.
1. eq (==)
비교하고자 하는 값이 동일한지를 확인할때 사용한다.
2. ne (!=)
비교하는 값이 동일하지 않은지 확인할때 사용한다.
3. empty (== null)
비교하는 값이 null 인지 확인할때 사용한다.
* null이 아닌경우를 표현할때는 !empty 로 표현하면 된다.
예전에 어느 프로젝트를 진행할때 어떤분이 if ~ else문을 작성하는데, <c:choose> 태그를 이용하지 않고 아래와 같이 작성한것을 본적이 있다.
<c:set var="name" value="홍길동" />
<c:if test="${name eq '홍길동'}">
홍길동이 맞습니다.
</c:if>
<c:if test="${name eq '철수'}">
홍길동이 아닙니다.
</c:if>
<c:if test="${empty name}">
홍길동이 아닙니다.
</c:if>
위와 같은 코드도 앞서 설명한 <c:choose> 예제와 동일한 결과를 내지만, 이렇게 작성하는것은 코드의 가독성이 떨어진다.
if ~ else 문을 구현을 할때에는 가급적이면 상황에 맞는 <c:choose> 태그를 작성하는게 바람직하다고 생각한다.
출처: https://fruitdev.tistory.com/131 [과일가게 개발자]
'개발 > java & jsp' 카테고리의 다른 글
[Spring] ResponseEntity는 왜 쓰는 것이며 어떻게 쓰는걸까? [펌] (0) | 2020.08.11 |
---|---|
스프링(Spring) 파일 업로드(File Upload) [펌] (0) | 2020.08.10 |
[java/jsp] JSP 처리 중 Page directive: illegal to have multiple occurrences of contentType with different values [펌] (0) | 2020.08.05 |
[java/jsp] JSTL - <c:set> 태그 사용법 (0) | 2020.08.05 |
[java] 이클립스 콘솔(Eclipse Console) 출력 라인수 늘리기 (0) | 2020.08.04 |