/*
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 |