1. EL(Expression Language)
- 값을 간결하고 간편하게 출력할 수 있도록 해주는 언어
- <%= %>, out.println()과 같은 자바코드를 더 이상 사용하지 않고
좀 더 간편하게 출력을 지원하기 위한 도구.
- 배열이나 컬렉션에도 사용되고, javaBean의 프로퍼티에서도
사용된다.
1-1. EL구문
- ${..} 내에 표현식으로 표현합니다.
- ${true}
- ${false}
- ${123}
- ${"java"}
1-2. 범위
- EL식에서는 Attribute의 이름으로 해석이 된다. 값을 찾을때
Attribute는 작은 Scope에서 큰 Scope으로 찾는다
- page > request > session > application
- 만약 특정한 객체 값을 가져올려면 scope의 범위를 지정해서 호출
-> page scope : 하나의 JSP페이지에서만 사용할 수 있는
영역
-> request scope : 하나의 요청에서만 사용할 수 있는 영역
-> session scope : 하나의 웹 브라우저에서 사용할 수 있는
영역
->application scope : 웹 어플리케이션 영역
1-3. EL연산자
- 산술연산자 : +, -, *, /(div), %(mode)
- 논리연산자 : &&(and), ||(or), !(not)
- 비교연산자 : ==(eq), !=(ne), <(lt), >(gt), <=(le), >=(ge)
- empty 연산자 : 값이 null이거나 공백문자인지를 판단하는 연산자
${empty "" } -> true
${empty null} -> true
${empty data} -> data에 값이 없으면 true
- 조건연산자 : a?b:c
a조건이 만족하면 b를 리턴, 만족하지 않으면 c를 리턴
2. JSTL
- JSP Standard Tab Library
- 연산이나 조건문, 반복문을 편하게 처리할 수 있으며, JSP페이지
내에서 자바코드를 사용하지 않고도 로직을 구현할 수 있도록
효율적인 방법을 제공한다.
- for(초기식;조건식;증감식){} -> <c:forEach>...</c:forEach>
2-1. JSTL core 태그
- < c:set />
: 변수를 만들때 사용
- <c:out> </c:out>
: 값을 출력(EL문을 좀 더 많이 쓴다)
- <c:choose> </c:choose>
: 조건제어(switch문), 내부에 c:when, c:otherwise만 있어야한다.
- <c:when> </c:when>
: 조건제어(case문)
- <c:otherwise> </c:otherwise>
: 조건제어(default)
- <c:forEach> </c:forEach>
: 반복제어(for)
2-2. jstl function