표현언어의 개념과 문법
- 표현언어가 처음 나왔을 때 JSTL 의 부분처럼 사용되었으나, 현재는 JSP 기본 스펙에 포함되어 있어 JSP 페이지 내에서 표현식(<%= %>, <% %>)등을 대체하는 용도로 사용한다. 표현 언어는 간단한 방법으로 데이터를 표현하려고 고안된 언어다. MVC 패턴에서 뷰 역할을 수행하는 JSP 를 더욱 효과적으로 만들려는 목적!
표현언어는 빈즈 속성 값을 더욱 쉽고 제약을 덜 받는 방법으로 사용할 수 있도록 해준다.
표현언어를 사용하면 코드가 복잡해지는 것을 줄일 수 있고, JSP 를 일종의 템플릿 코드처럼 사용할 수 있다.
즉, MVC 패턴에 완벽 적용하려면 표현언어를 반드시! 잘! 사용해야한다.
MVC 패턴이란? 간단히 Model- View -Controller 의 개념으로 웹 디자이너, 웹 프로그래머가 일을 분담하여 하기 좋게 하는 것이다.
기존 태그 )
<h2>
<jsp:useBean id="test" class="TestBean" />
<%= test.getName()%>
<jsp:getProperty name="test" property="name"/>
</h2>
표현 언어)
<h2>
${test.name}
</h2>
표현 언어를 사용하면 application , session, request,page 범위에 들어 있는 빈즈 객체에 더욱 쉽게 접근할 수 있고 JSP 표현식의 사용을 줄일 수 있다.
문법
- 표현 언어는 $ 로 시작한다.
- 모든 내용은 {표현식} 과 같이 사용한다.
- 표현식에는 기본적으로 변수 이름, 혹은 '객체_이름.멤버변수_이름' 의 구조로 이루어진다.
- 표현식에는 부가적으로 숫자,문자열,boolean,null과 같은 상수 값도 올 수 있다.
- 표현식에는 기본적인 연산을 할 수 있다.
표현 언어에서 사용할 수 있는 내장 객체
> 표현 언어는 현재 페이지 이전에 사용할 객체가 생성되어 전달된다는 것을 가정한다.
> 따라서 표현 언어에서 사용 시점에 객체를 선언할 필요가 없고, 객체_이름.멤버변수_이름 형태로 데이터에 접근 가능하다.
${member.id} or ${member["id"]}
${row[0]}
member라는 이름의 객체가 page, request, session,application 내장객체 중 하나에서 setAttribute () 메서드를 이용해 저장된 것으로 보면 된다.
pageScope | page 범위에 포함된 속성 값에 접근할 수 있는 객체다. |
requestScope | request범위에 포함된 속성 값에 접근할 수 있는 객체다. |
sessionScope | session 범위에 포함된 속성 값에 접근할 수 있는 객체다. |
applicationScope | application 범위에 포함된 속성 값에 접근할 수 있는 객체다. |
param | request.getParameter("xxx")로 얻을 수 있는 값들이다. %{param.xxx} 처럼 사용한다. |
paramValuess | request.getParameterValues("xxx")와 동일한 기능을 수행한다. |
header | request.getHeader("xxx")와 동일한 기능을 수행한다. ${header.xxx} |
initParam | 컨텍스트의 초기화 매개변수 값이다. |
cookie | 쿠키 정보에 접근할 수 있는 객체다. |
pageContext | pageContext 객체다. |
표현언어에서는 연산자도 사용 가능하다!
'프로그래밍언어 > WEB' 카테고리의 다른 글
JSTL (0) | 2020.06.26 |
---|---|
커스텀 태그 (0) | 2020.06.26 |
빈즈 (0) | 2020.06.04 |
JSP-Servlet (0) | 2020.05.10 |
JSP : 내장객체 -session (0) | 2020.04.17 |