JSP

표현언어

안녕로봇 2017. 3. 26. 22:31
표현언어

- 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} 쓰자