※ 표현언어
- 자바의 표현식<%=%> 을 대신한다고 생각하면 됨
- 표현 언어(Expression Language) : jsp 페이지에서 사용되는 자바 코드를 대신해서
액션 태그 엘리먼트의 속성에 값을 지정하는 역할을 함
- null 값을 가지는 변수에 대해 좀 더 관대하고, 데이터 형변 환을 조금 더 자동적으로 해줌
ㄴ null을 자동으로 공백으로 바꿔줌
- java EE8 : jsp2.3, servlet 4.0, EL 3.0, JSTL 1.2
모델2 ) request setattribute 저장 => 뷰(jsp)에서 getattribute
ㄴ 표현언어로 이 과정을 간단하게 할 수 있다.
※ EL 표현식
- el 표현식에는 연산자 사용 가능, 내장객체 지원함
- vo.gettitle , vo.getname 이런걸 더 간단하게 생략해서 사용가능
= > ${ } ( ${} 안에 멤버변수만 넣으면됨 )
ㄴNAME 만 가지고 사용하기때문에 훨씬 간결해진다
기존방식
<%=person.getAddress()%>
EL표현식
${person.address}
▶ 특징
▷ 표현언어는 항상 ${ 로 시작해서 } 로 끝남
- 표현식은 jsp 스트립트 내부에서는 쓸 수 없음 => <%%> , <%!%>, <%=%> 내부에서 사용 못함
${num}
<%=num%>
▷ 표현식 안에 연산식 작성 가능
- 표현언어 표현식에는 숫자, 문자열, boolean 값, null 같 은 상수값(리터럴)들을 포함할 수 있음
${num + 1}
▶ 표현언어의 연산자
▷ dot(.)
- 프로퍼티(멤버변수) 접근 연산자
- dot(.)은 표현언어에서 자바빈이나 컬렉션 객체에서 다음에 오는
이름과 같은 프로퍼티를 찾게 함 (vo.멤버변수 <=이런식)
▷ 브라켓 연산자 [] (대괄호)
- 브라켓 연산자 배열의 형태로 객체의 프로퍼티나 변수에 접근할 수 있음
${result[0] } 년 ${result[1] } 월 ${result[2] } 일 = 대괄호안은 배열
${article[‘num’] + 1} 또는 ${article[“num”] + 1} // 자바빈의 프로퍼티(멤버변수) num에 1을 더하는 경우
▷ empty
- 비어있는 문자열이냐 배열이냐 컬렉션이냐 다 체크(isEmpty)하고 + null인지도 같이 체크
- empty 하나로 null인지 비어있는지 같이 체크
- 빈 변수 값 체크. null, 빈 문자열, 빈 배열, 엔트리가 없는 Map 이나 컬렉션인지 등을 테스트


▶ 표현언어에서 제공되는 내장객체
▷ sessionScope
- 모든 session 영역 객체들에 대한 컬렉션
<c:if test="${empty sessionScope.userId }">
컨텍스트 패스 : ${pageContext.request.contextPath}
▷ param
- 모든 request 파라미터들을 문자열로 가진 컬렉션
${param.name }, ${param.no }, ${param.pwd }....
=${param['name'] }, ${param['no'] }, ${param['pwd'] }
▷ pageContext
- 현재 페이지를 위한 javax.servlet.jsp.PageContext
If(session.getAttribute(“userId”)==null || session.getAttribute(“userId”).isEmpty())
컨텍스트 패스 : request.getContextPath()
'Spring' 카테고리의 다른 글
| [Spring] 스프링 프레임워크 (0) | 2022.05.24 |
|---|---|
| [jsp]JSTL (0) | 2022.05.24 |
| [jsp] 모델2 기반의 MVC 패턴 게시판의 흐름 (0) | 2022.05.22 |
| 회원가입 (0) | 2022.05.19 |
| [jsp] 모델2 기반의 MVC 패턴 (0) | 2022.05.18 |