프로그래밍언어/WEB

표현언어

헬로월드! 2020. 6. 26. 09:53

표현언어의 개념과 문법

 - 표현언어가 처음 나왔을 때 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