표현언어
- JSP페이지에서 사용되는 자바 코드를 대신해서 액션 태그 엘레먼트의 속성에 값을 지정하는 역할(JSP 2.1버전부터 지원)
- null값을 가지는 변수에 대해 좀 더 관대, 데이터 형변환을 좀 더 자동적으로 해줌(값이 없을때 null이 표시되지않음)
- 변수와 연산자를 포함
- 내장 객체를 지원
간단 예시
예) 자바빈의 메서드에 접근 <%=person.getAddress()%> 이걸 ${person.address}로 바꿔서 사용
1) 항상 ${로 시작해서 }로 끝남
${num}는 <%=num%>와 결과가 같음
2) 연산식도 작성가능
${num+1}
3) 브라켓 연산자 [] 사용시
${article.num+1} 이걸 ${article["num"]+1}로 표현가능 ("대신 '사용해도 됨)
연산자
. |
빈의 프로퍼티나 Map의 엔트리 접근 |
[ ] |
배열이나 List 엘리먼트 접근 |
( ) |
괄호, 연산순서에서 사용 |
a?b:c |
삼항연산자 조건(a)? true일때 리턴값(b) false일때 리턴값(c) |
+ - * /(div) %(mod) |
더하기, 뺴기, 곱하기, 나누기, 나머지 |
== 또는 = |
같다 |
!= 또는 ne |
다르다 |
< 또는 lt |
보다 작다 |
> 또는 gt | 보다 크다 |
<= 또는 le | 작거나 같다 |
>= 또는 ge | 크거나 같다 |
&& 또는 and | 논리 AND |
|| 또는 or | 논리 OR |
! 또는 not | 단항 not |
empty | 빈 변수 값 체크 - null, 빈 문자열, 빈 배열, 엔트리가 없는 Map이나 컬렉션인지들을 테스트 |
내장(기본) 객체
pageScope |
모든 page 영역 격체들에 대한 컬렉션 |
requestScope |
모든 request 영역 격체들에 대한 컬렉션 |
sessionScope |
모든 session 영역 격체들에 대한 컬렉션 |
applicationScope |
모든 application 영역 격체들에 대한 컬렉션 |
param |
모든 request 파라미터들을 문자열로 가진 컬렉션 |
paramValues |
모든 request 파라미터들을 파라미터당 문자열 배열로 가진 컬렉션 |
cookie |
모든 쿠키의 컬렉션 |
pageContext |
JSP의 page 기본 객체와 동일 |
예시)
${header.host}
${header["user-agent"] }
cf.)기존방식: <% String sHost = request.getHeader("host"); String sAgent = request.getHeader("user-agent"); %>
한줄 요약
<%=request.getParameter("name")%>쓰지말고 ${param.name} 쓰자