소소한개발팁
Published 2020. 1. 6. 22:47
EL 과 JSTL 프레임워크/Spring
반응형

EL(Expression Language) 의 개요

*EL과 JSTL (Java Standard Tag Library)을 사용하면 <% %>와 같은 스크립팅 태그를 JSP에서 없앨 수 있다.

*EL 표현식은 중괄호( {  } )로 묶고 앞에 달러($)기호를 붙이며,도트 연산자를 사용한다.

*EL은 저장 객체의 출력을 단순화 하는 용도로 사용되므로, 저장 객체를 출력할 때도 스크립팅을 전혀 쓰지 않는다.

예를 들어 , <%=request.getParameter("name")%>  대신에 ${param.name} 구문을 사용한다.

 

*EL은 기본적으로 4가지 Scope(Page,Request,Session,Application) 의 객체에 접근하여 출력을 처리한다.

*EL 에서는 해당값이 null이거나 공백일 경우에는 아무 내용도 표시하지 않고 에러도 발생하지 않는다.

*EL은 JSP에서 기본으로 지원하고, JSTL은 따로 설치해야 한다.

 

EL과 스크립팅 태그 비교

EL(Expression Language) 스크립팅 태그
${param.name} <%=request.getParameter("name")%>
${greet}

<% String value=(String)request.getAttribute("greet");

out.println(value); %>

${user}

<% UserVO user= (UserVO)request.getAttribute("user");

out.println(user); %>

${user.name}

<% UserVO user= (UserVO)request.getAttribute("user");

out.print(user.getName()); %>

 

${sessionScope.user.name}

<% UserVO user= (UserVO)session.getAttribute("user");

out.println(user.getName()); %>

 

 

JSTL(Java Standard Tag Library) 개요

*JSTL이란 JSP 표준 라이브러리(JSP Standard Tag Library)

*JSTL은 JSP에서 스크립팅을 사용하지 않으면서 루프를 돌리거나 조건문을 실행할 수 있도록 해줌

*JSP에서 자주 사용하는 기능(반복과 조건, 데이터 관리 포맷, XML조작, 데이터베이스 액세스)을 구현해 놓은 Custom Tag Library 모음 

*JSTL은 EL(Expression Language)를 사용하여 표현

*JSTL은 request,response,pageContent,application 과 같은 JSP 내장 객체(Implicit Object)에 쉽게 접근할 수 있음

라이브러리 기능

URL 식별자

접두어

코어 (Core)

일반 프로그램 언어에서 제공하는 변수선언, 조건/제어/반복문 등의 기능을 제공한다.

http://java.sun.com/jsp/jstl/core C
포맷팅(formatting) 숫자,날짜,시간을 포맷팅하는 기능과 국제화,다국어 지원 기능을 제공한다. http://java.sun.com/jsp/jstl/fmt fmt
함수(function) 문자열을 처리하는 함수를 제공한다. http://java.sun.com/jsp/jstl/functions fn
데이터베이스(database) 데이터 베이스의 데이터를 입력/수정/삭제/조회 하는 기능을 제공한다. http://java.sun.com/jsp/jstl/sql sql
XML처리(xml) XML문서를 처리할 때 필요한 기능을 제공한다. http://java.sun.com/jsp/jstl/xml x

 

사용예시

<!--선언부-->

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

<!--사용-->

<c:set var="hello" value="Hello" />

${hello}

 

JSTL core태그

JSTL 태그 라이브러리 중에 가장 많이 사용하는 태그이다 .

<% @ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>로 선언 해야함

라이브러리

태그

설명

변수지원 set JSP에서 사용될 변수를 설정한다.
remove 설정할 변수를 제거한다
흐름제어 if 조건에 따라 내부 코드를 수행한다.
choose 다중 조건을 처리할 때 사용된다.
forEach 컬렉션이나 Map의 각 항목을 처리할 때 사용한다.
forTokens

구분자로 분리된 각각의 토큰을 처리할 때 사용된다.

URL 처리 import

URL을 사용하여 다른 자원의 결과를 삽입한다.

redirect

지정한 경로로 리다이렉트 한다.

url

URL을 재작성한다.

기타태그 catch

Exception 처리에 사용된다.

out

JspWriter에 내용을 알맞게 처리한 후 출력한다.

Controller와 JSP 구현 절차

1. 클라이언트의 요청을 처리할 POJO형태의 Controller 클래스를 작성

2. Controller 클래스에 @Controller 어노테이션을 선언

3. 요청을 처리할 메서드를 작성하고 @RequestMapping 어노테이션을 선언

4.JSP를 이용한 View 영역의 코드를 작성

5. Browser 상에서 JSP 실행 

 

핵심 어노테이션

@Controller : Controller 클래스 정의

@RequestMapping: HTTP요청 URL을 처리할 Controller 메소드 정의

 

View에 데이터를 전달하는 Model 클래스

Controller에서 service를 호출한 결과를 받아서

view에게 전달하기 위헤 ,전달받은 결과를 Model 객체에 저장

 

Model addAttribute(String name,Object value)

:value 객체를 name 이름으로 저장하고,

view 코드에서는 name으로 지정한 이름을 통해서 value를 사용

 

반응형

'프레임워크 > Spring' 카테고리의 다른 글

Bean 등록 메타정보 구성 전략 및 어노테이션  (0) 2020.01.08
Bean 의존관계 설정  (0) 2020.01.07
Spring MVC  (0) 2020.01.06
Spring JDBC  (0) 2020.01.03
JUnit , Sprint Test  (0) 2020.01.03
profile

소소한개발팁

@개발자 뱅

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!