일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dbms
- 백준
- 순열 알고리즘
- mysql
- 네이버 부스트캠프 ai tech
- 벡엔드
- 프림 알고리즘
- 프로그래머스
- 웹서버
- 정렬 알고리즘
- 부스트코스
- 다이나믹 프로그래밍
- SERVLET
- 크루스칼 알고리즘
- 해시
- Kruskal's Algorithm
- 정렬
- 웹 프로그래밍
- DP
- 그리디
- 브라우저
- BJ
- mst
- Prim's Algorithm
- 소수
- 웹프로그래밍
- request
- greedy
- jsp
- programmers
- Today
- Total
끵뀐꿩긘의 여러가지
[부스트코스]웹 프로그래밍 26. EL(표현언어) & JSTL(JSP Standard Tag Library) 본문
[부스트코스]웹 프로그래밍 26. EL(표현언어) & JSTL(JSP Standard Tag Library)
끵뀐꿩긘 2020. 3. 20. 14:30JSP의 표현식 <%=%>은 사용하기 불편하고 기능이 제한적이다. 그래서 EL이 JSP에서 값을 표현하는 데에 자주 쓰인다.
표현 언어란?
- 표현 언어(Expression Language)는 값을 표현하는 데 사용되는 스크립트 언어로서 JSP의 기본 문법을 보완하는 역할을 한다.
표현 언어가 제공하는 기능
- JSP의 스코프(scope)에 맞는 속성 사용
- 집합 객체에 대한 접근 방법 제공
- 수치 연산, 관계 연산, 논리 연산자 제공
- 자바 클래스 메소드 호출 기능 제공
- 표현언어만의 기본 객체 제공
표현언어의 기본 객체
*MAP 객체:
Map 객체는 요소의 삽입 순서대로 원소를 순회합니다. for...of 반복문은 각 순회에서 [key, value]로 이루어진 배열을 반환합니다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map
Map
Map 객체는 키-값 쌍을 저장하며 각 쌍의 삽입 순서도 기억하는 콜렉션입니다.
developer.mozilla.org
ex)
표현 언어의 데이터 타입
- 불리언 타입 - true와 false
- 정수타입 - 0~9로 이루어진 정수 값 음수의 경우 '-'가 붙음
- 실수타입 - 0~9로 이루어져 있으며, 소수점('.')을 사용할 수 있고, 3.24e3과 같이 지수형으로 표현 가능하다.
- 문자열 타입 - 따옴표( ' 또는" )로 둘러싼 문자열. 만약 작은 따옴표(')를 사용해서 표현할 경우 값에 포함된 작은 따옴표는 \' 와 같이 \ 기호와 함께 사용해야 한다.
- \ 기호 자체는 \\ 로 표시한다.
- 널 타입 - null
객체 접근 규칙
- 표현 1이나 표현 2가 null이면 null을 반환한다.
- 표현1이 Map일 경우 표현2를 key로한 값을 반환한다.
- 표현1이 List나 배열이면 표현2가 정수일 경우 해당 정수 번째 index에 해당하는 값을 반환한다.
- 만약 정수가 아닐 경우에는 오류가 발생한다.
- 표현1이 객체일 경우는 표현2에 해당하는 getter메소드에 해당하는 메소드를 호출한 결과를 반환한다.
표현 언어의 수치 연산자
- + : 덧셈
- - : 뺄셈
- * : 곱셈
- / 또는 div : 나눗셈
- % 또는 mod : 나머지
- 숫자가 아닌 객체와 수치 연산자를 사용할 경우 객체를 숫자 값으로 변환 후 연산자를 수행 : ${"10"+1} → ${10+1}
- 숫자로 변환할 수 없는 객체와 수치 연산자를 함께 사용하면 에러를 발생 : ${"열"+1} → 에러
- 수치 연산자에서 사용되는 객체가 null이면 0으로 처리 : ${null + 1} → ${0+1}
비교 연산자
- == 또는 eq
- != 또는 ne
- < 또는 lt
- > 또는 gt
- <= 또는 le
- >= 또는 ge
- 문자열 비교: ${str == '값'} str.compareTo("값") == 0 과 동일
논리 연산자
- && 또는 and
- || 또는 or
- ! 또는 not
표현 언어 비활성화 : JSP에 명시하기
- <%@ page isELIgnored = "true" %>
JSTL이란?
- JSTL(JSP Standard Tag Library)은 JSP 페이지에서 조건문 처리, 반복문 처리 등을 html tag형태로 작성할 수 있게 도와줍니다.
- JAVA에서 기본적으로 지원하는 문법이 아님 --> 개인적인 설정 가능
- JSTL의 태그는 XML태그 문법을 사용합니다. 그래서 반드시 태그가 닫히거나 '/>'로 끝나야 합니다.
JSTL을 사용하려면?
- http://tomcat.apache.org/download-taglibs.cgi
- 위의 사이트에서 3가지 jar파일을 다운로드 한 후 WEB-INF/lib/ 폴더에 복사를 한다.
- 또는 MAVEN을 이용하여 JSTL과 다른 라이브러리를 관리하고 사용할 수 있다.
JSTL이 제공하는 태그의 종류
jstl이 제공하는 태그의 종류
코어 태그
jstl 코어태그
코어 태그: 변수 지원 태그 - set, remove
코어태그: 변수 지원 태그 - 프로퍼티, 맵의 처리
코어 태그: 흐름제어 태그
흐름제어태그 if
코어 태그: 흐름제어 태그 - choose
코어 태그: 흐름제어 태그 - forEach
코어 태그: 흐름제어태그 - import
코어 태그: 흐름제어태그 - redirect
코어 태그: 기타태그 - out
예제 및 실습코드 확인: https://www.edwith.org/boostcourse-web/lecture/16713/
[LECTURE] 2) JSTL(JSP Standard Tag Library) : edwith
들어가기 전에 프론트 개발자가 JSP를 수정하는데, JSP 안에 자바코드와 HTML코드가 섞여 있다면 수정할 때 굉장히 어려움을 느끼게 될 가능성이 큽니다. 이런 문제를 해결하기 ... - 부스트코스
www.edwith.org
'부스트코스 - 웹 > 2. DB 연결 웹 앱' 카테고리의 다른 글
[부스트코스]웹 프로그래밍 28. SQL(1) -MySQL (0) | 2020.03.20 |
---|---|
[부스트코스]웹 프로그래밍 27. DB(데이터베이스), DBMS(데이터베이스 관리시스템)& MySQL 설치 환경설정 (0) | 2020.03.20 |
[부스트코스]웹 프로그래밍 25. SCOPE(변수영역,객체범위) (0) | 2020.03.20 |
[부스트코스]웹 프로그래밍 24. redirect & forward (0) | 2020.03.20 |
[부스트코스]웹 프로그래밍 23. JSP(2) (0) | 2020.03.20 |