728x90
표현 언어, EL 식은 View 즉, 사용자에게 보여지는 브라우저, .jsp, .html과 같은 곳에서 활용되며
${표현식}, ${변수명}, ${객체명.멤버변수}, ${컬렉션 객체[인덱스]} 과 같은 형태로 사용된다.
View에서 EL식을 사용하기 위해서는 사전에 Controller에서 request, session, application과 같은
scope 내장객체에 setAttribute()하여 정보를 전달해 주어야 한다.
${숫자} ${문자열} ${boolean} ${null}과 같은 상수값도 작성 가능하며 기본 연산도 가능하다.
예를 들어 아래와 같이 form 태그 내부에서 하나의 값을 선택해 select에게 value값을 주었을 때
<form action="정보를 보내줄 파일명" method="post">
<select name="sel">
<option>apple</option>
<option>banana</option>
<option>kiwi</option>
</select>
<input type="submit" value="선택">
</form>
정보를 받는 곳에서는 sel이라 지정한 select태그의 value 값을 표현하기 위해서는
request.getParameter("sel")와 같이 사용해야 하지만 EL 식을 사용하면 ${param.sel}과 같은 형태로
동일한 정보를 나타낼 수 있다.
또 다른 예시로 아래와 같은 클래스 파일을 만들고 session에 아래 클래스의 정보를 가진
test라는 이름의 객체가 저장되었다고 할 때
package test; // 예제를 위해 만든 파일로 setter는 생략
import java.util.Arrays;
public class Test {
private String[] datas = {"apple","banana","kiwi"};
private int num1=10;
private int num2=20;
public String[] getDatas() {
return datas;
}
public int getNum1() {
return num1;
}
public int getNum2() {
return num2;
}
}
해당 클래스의 num1과 num2의 합인 30이라는 값을 얻기 위해서는 아래와 같이 자바 빈즈를 이용해 해당 클래스의
객체를 만들거나 세션에 담긴 test객체를 getAttribute를 이용해 Test 객체에 담아 주어야 한다.
1) <jsp:useBean scope="session" id="test" class="test.Test" />
2) Test test = (Test)session.getAttribute("test");
int res = test.getNum1() + test.getNum2();
out.println(res);
하지만 EL 식을 사용한다면 다음과 같이 간단히 표현이 가능하다.
${test.num1} + ${test.num2} = ${test.num1+test.num2}
728x90
'web' 카테고리의 다른 글
태그 파일 기반의 커스텀태그 (0) | 2022.08.13 |
---|---|
커스텀 태그 (0) | 2022.08.12 |
JSP - session 객체를 이용해 장바구니 만들기 (0) | 2022.08.02 |
JSP 기본 문법 (0) | 2022.08.02 |
JSP를 이용한 서버 프로그래밍 (0) | 2022.08.01 |