본문 바로가기
JSP

221202 EL

/*

MVC2패턴
일반적으로 많이 사용하는 디자인패턴

Model View Controller
3개를 완벽하게 분리해서 만드는 방식

Model : 데이터베이스 통신을 하는 클래스. [DAO, VO(DTO)]. 이 둘을 묶어서 모델이라고 부름

View : 화면. jsp파일이 화면을 대체. but 화면에는 자바코드가 있으면 안됨!=> JSTL문법 사용

Controller : 화면에서 요청이 굉장히 많음(ex 회원가입, 주문, 예매, 결제 등등). 
이것들을 하나의 큰 주제로 묶어서 하나의 컨트롤러로 연결. 컨트롤러는 여러개일 수 있다. 
회원{가입, 탈퇴, 수정, 내역, ....}-->servlet

jsp파일로 모을수가 없다. Servlet으로 대체. 컨트롤러는 servlet으로 만듦
모든 요청을 모아 controller로 가고 컨트롤러가 화면 or 서버로 감
컨트롤러가 할 일이 굉장히 많음. 그래서 Service로 분리해서 controller의 역할을 분담해 줌.

 

이걸 하기 위해서 EL과 JSTL을 배워야 한다.

*/

 

EL(Expression Language)
EL이란 JSP에서 저장객체를 출력할 때 스크립팅을 전혀 쓰지 않을 수 있는 기술입니다.
일종의 스크립트 언어로 자료타입, 수치연산자, 논리연산자, 비교연산자등을 제공하며
표현식을 대체할 수 있다.

표현식<%=value%>  => EL ${value}

${내장객체, name}
request session application에 저장되어 있는 값들을 바로 사용 가능

request안에 있으면 request.이름으로
${객체명,이름} or ${이름}
session안에 있으면 sessionScope.이름
application에 있으면 applicationScope.이름
parameter랑 cookie값도 동일
근데 생략이 가능
request말고는 붙이는게 편함. 왜? 생명주기에 따라 생성되는데 이름이 같을 수도 있음. 구분하기 위해. 



EL내부에 사용하는 연산자
1.산술 : + - * / %
2.관계 : == != < <= > >=
3.조건 : a?b:c 
4.논리 : && ||
EL태그에서만 제공하는 연산자도 있다.


액션태그<jsp.getProperty name = "member" property="name">
EL ${member, name}

 

el_basic (EL태그)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>EL태그는 표현식을 대체합니다</h2>

	${1 + 2}<br>
	${1 > 2}<br/>
	${1 ==2 }<br/>
	${1 ==2 ? '같음' : '다름'}<br/>
	
	${1<2|| 1>2}<br/>
	${1<2 or 1>2}<br>
	
	${1<2 && 1>2 }<br>
	${1<2 and 1>2 }<br/>
	
	${'홍길동 == '홍길동} <br/>
	${'홍길동' eq '홍길동' }<br>
	
	${!false }<br>
	${not false}<br>
	
	<!-- 
		< ,lt (little than )
		<= le(little or equals)
		> gt(greater than)
		>= ge(greater or equals)
	처럼 표현할수도 있으나, 왼쪽게 낫다
	 -->	

	
</body>
</html>

자바랑 달리 or and eq(equals)로 바로 써도 된다.

'JSP' 카테고리의 다른 글

221202 EL object로 받기  (0) 2022.12.02
221202 EL request 받기  (0) 2022.12.02
221202 자바빈  (0) 2022.12.02
221201 session실습 redirection에 메시지 추가  (0) 2022.12.01
221201 forward 실습  (0) 2022.12.01