표현 언어란? 변수의 값을 출력할 때 사용하는 스크립트 언어
1. 표현 언어가 제공하는 기능
- JSP 내장 객체의 영역에 담긴 속성을 사용할 수 있음
- 산술 연산, 비교 연산, 논리 연산이 가능
- 자바 클래스에 정의된 메서드를 호출 가능
- 표현 언어만의 객체를 통해 JSP와 동일한 기능을 수행 가능
- pageScope : page 영역에 저장된 속성값 읽어옴.
- requestScope : request영역에 저장된 속성값 읽어옴.
- sessionScope : session 영역에 저장된 속성값 읽어옴.
- aplicationScope : application 영역에 저장된 속성값 읽어옴.
4. 폼 값 처리하기
param : request.getParmeter("매개변수명")과 동일하게 요청 매개변수의 값을 받아온다.
paramValues : request.getParameterValues("매개변수명")와 동일하게 요청 매개변수의 값을 문자열 배열로 받아온다. 주로 다중 선택이 가능한 checkbox를 통해 전달된 폼 값을 받을 때 사용.
5. 객체 전달하기
폼으로는 객체를 전달 할 수 없기에 영역을 사용한다.
예제) 객체 전달 부분
<%@ page import="common.Person"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<meta charset="UTF-8">
<head><title>표현 언어(EL) - 객체 매개변수</title></head>
<body>
<%
request.setAttribute("personObj", new Person("홍길동", 33));
request.setAttribute("stringObj", "나는 문자열");
request.setAttribute("integerObj", new Integer(99));
%>
<jsp:forward page="ObjectResult.jsp">
<jsp:param value="10" name="firstNum" />
<jsp:param value="20" name="secondNum" />
</jsp:forward>
</body>
</html>
예제) 전달 받은 객체 확인 부분
<%@ page import="common.Person"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<meta charset="UTF-8">
<head><title>표현 언어(EL) - 객체 매개변수</title></head>
<body>
<h2>영역을 통해 전달된 객체 읽기</h2>
<ul>
<li>Person 객체 => 이름 : ${ personObj.name }, 나이 : ${ personObj.age }</li>
<li>String 객체 => ${ requestScope.stringObj }</li>
<li>Integer 객체 => ${ integerObj }</li>
</ul>
<h2>매개변수로 전달된 값 읽기</h2>
<ul>
<li>${ param.firstNum + param['secondNum'] }</li>
<li>${ param.firstNum } + ${param["secondNum"] }</li>
</ul>
</body>
</html>
영역에서는 모든 객체가 Object 타입으로 저장되기에 읽어올 때는 반드시 형 변환 후 사용하고, 게터로 멤버 변수의 값을 가져온다.
한편 EL 사용하면 형 변환이 필요 없고, 게터 호출 대신 멤버 변수 이름만 쓰면 값을 출력 할 수 있다.
6. 쿠키, HTTP 헤더, 컨텍스트 초기화 매개변수 출력하기
EL은 쿠키나 헤더 값을 읽을 수 있도록 다음의 내장 객체를 제공한다.
- cookie : 쿠키를 읽을 때 사용
- header : request.getHeader(헤더명)와 동일하게 헤더값을 읽을 때 사용
- headerValues : request.getHeaders(헤더명)와 동일하게 헤더값을 배영 형태로 읽을 때 사용
- initParam : web.xml 에 설정한 컨텍스트 초기화 매개변수를 읽을 때 사용
- pageContext : JSP의 pageContext 내장 객체와 동일한 역할
- ${ number = 10 } //할당과 동시에 출력
- ${ number = 10; '' } //할달만 되고 출력은 되지 않음
- > 또는 gt : ~보다 크다
- >= 또는 ge : ~보다 크거나 같다
- < 또는 lt : ~보다 작다
- <= 또는 le : ~보다 작거나 같다
- == 또는 eq : 같다
- != 또는 ne : 같지 않다.
- && 또는 and : 논리 and
- || 또는 or : 논리 or
- | 또는 not : 논리 not
- null
- 빈 문자열
- 길이가 0인 배열
- size가 0인 컬렉션
- ${ 조건 ? "true일 때 선택" : "fales일 때 선택" }
댓글 없음:
댓글 쓰기