jsp

2022_12_02 EL(Expression Language)

0304호 2022. 12. 2. 14:04

el_basic.jsp
0.00MB

표현식을 대체하는 기능들

el_form_ok.jsp
0.00MB

el_form에서 보낸값을 출력하는 페이지

el_form.jsp
0.00MB

el_form_ok로 값을 보내는 페이지

el_obj.jsp
0.00MB

밑에 있는 예시

el_session.jsp
0.00MB

sessionScope & ApplicationScope를 사용해봄

 

EL 이란 JSP에서 저장객체를 출력할 때 스크립팅을 전혀 쓰지 않을 수 있는 기술이다

EL은 표현식을 대체할 수 있다

 

- EL 내부에 사용하는 연산자

1. 산술: +, -, *, /, %

2. 관계: ==, !=, <, <=, >, >=

3. 조건: a ? b : c (a조건식이 참이면 b를 실행, 거짓이면 c를 실행)

4. 논리: &&, ||

 

java에서쓰는 ||  혹은 && 를 사용할 수 있지만

EL:에서만 사용할 수 있는 or 혹은 and를 쓰는게 더 직관적이다.

${1 < 2 || 1 > 2 }<br>	
${1 < 2 or 1 > 2 }<br>	

${1 < 2 && 1 > 2 }<br>	
${1 < 2 and 1 > 2 }<br>

반대의 의미에 ! 대신 not을 넣어도 사용가능하다.

${ ! false }<br>
${ not false }<br>

관계 연산자 중 ==eq로 대체할 수 있다

${ '홍길동' == '홍길동' }<br>
${ '홍길동' eq '홍길동' }<br>

관계연산자에 

<  , lt 로 바꿀 수 있음 (little than)
<= , le 로 바꿀 수 있음 (little or equals)
>  , gt 로 바꿀 수 있음 (greater than)
>= , ge 로 바꿀 수 있음 (greater than)

이런 EL태그용 기능들이 있지만 선호하진 않는다 ( 더 헷갈리기 때문 )

                                                                                                                                                                                                 

EL의 내장객체

${ 내장객체.NAME}

 

 requestScope.은 생략을 하고 많이 사용함 
 우선순위가 request -> session -> application 순으로 이루어져 있음

 

session과 application은 request와 이름이 동일할경우 잘못실행될 수 가 있기때문에

sessionScope.이나 applicationScope를 ${}안에서 붙혀야한다

                                                                                                                                                                                                 

<%@page import="com.example.bean.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
	User vo = new User();
    vo.setId("hhh123");    
    vo.setName("홍길숙");
    vo.setEmail("hhh@naver.com");
    request.setAttribute("voo", vo);		//리퀘스트에 강제 저장
    %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	아이디 : ${ requestScope.voo.id }<br>
	이름 : ${ requestScope.voo.name }<br>
	이메일 : ${ requestScope.voo.email }<br>
	<hr/>
	<!-- requestScope.은 생략을 하고 많이 사용함 
		 사용되는 순서 = request -> session -> application	-->
	아이디	: ${ voo.id }<br>
	이름 	: ${ voo.name }<br>
	이메일 	: ${ voo.email }<br>
</body>
</html>

el_obj.jsp실행화면