티스토리 뷰
익스프레션 언어 |
|
익스프레션이란 식이라는 의미이다. 식이라는것은 y=x+1처럼 연산자(+)와 피연산자(x,y)로 이루어진것을 의미한다.
익스프레션 언어란 ${cnt+1} 와 같이 표현하며 cnt는 어떤 자바 변수가 아니라 attribute이다.
기존 JSP의 <%=cnt+1%>로 나타내는 익스프레션 문법 과는 다르다. 이곳에서의 cnt는 자바 변수를 의미한다.
즉, 익스프레션 언어란 식으로 표현된 언어라는 뜻이다.
기존 JSP 에서는 Attribute를 다음과 같은 방법으로 가져왔었다.
<%= request.getAttribute("RESULT") %>
하지만 이 JSP는 HTML내에 포함되기 때문에 디자이너도 이 파일을 보게 되는데, 디자이너는 코드를 볼줄 모르기 때문에 저 구문이 쉽게 읽혀지지않으며 혼란을 줄 수 있다.
그렇기 때문에 새롭게 JSP에 추가된 문법이 바로 익스프레션 언어이다. 다음과 같이 표현한다
${RESULT}
이렇게 표현하니까 디자이너들도 이것이 무엇을 의미하는건지 쉽게 파악 할 수 있게 되었다.
<%= request.getAttribute("RESULT") %> -> 기존 JSP 의 expression 문법
${RESULT} -> 새롭게 추가된 JSP의 expression 언어
하지만 익스프레션 언어로는 복잡한 로직을 짜는게 힘들다. 아래에 나열된 정도의 간단한 정도의 연산만 할 수 있다.
${cnt + 100} , ${m:sqrt(100)} -> Math클래스의 static sqrt메소드
어차피 요즘 개발 트렌드는 복잡한 로직은 서블릿에서 처리하며 JSP에서는 서블릿에서 처리한 값을 출력하기 위해서 존재하기 때문에 익스프레션 언어로도 충분하다.
'컴퓨터 공학과 졸업 > JSP&Servlet' 카테고리의 다른 글
모델1 모델2 MVC패턴 (0) | 2018.07.27 |
---|---|
필터와 래퍼 (0) | 2018.07.27 |
Servlet Container (0) | 2018.07.26 |
웹 어플리케이션 구조 (0) | 2018.01.26 |
웹서버와 WAS의 차이(feat.톰캣) (0) | 2018.01.21 |
- Total
- Today
- Yesterday
- promise
- es6
- async
- type alias
- useEffect
- state
- server side rendering
- javascript
- reducer
- props
- computed
- reactdom
- await
- Babel
- webpack
- typescript
- atomic design
- reflow
- mobx
- return type
- react hooks
- Polyfill
- storybook
- hydrate
- useRef
- design system
- Next.js
- rendering scope
- Action
- react
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |