EL과 JSTL

EL의 개요 (Expression Language)

  • EL과 JSTL을 사용하면 <% %> 와 같은 스크립팅 태크를 JSP에서 없앨 수 있다.
  • EL 표현식은 중괄호 {} 로 묶고 앞에 달러($) 기호를 붙이며, 도트 연산자를 사용
  • EL은 저장 객체의 출력을 단순화하는 용도로 사용되므로, 저장 객체를 출력할 때도 스크립팅을 전혀 쓰지 않는다.
  • 예를 들어 <%request=getParameter("name"%> 대신에 ${param.name} 구문을 사용한다.
  • 기본적으로 4가지 scope(page, request, session, application) 의 객체에 접근하여 출력 처리
  • 해당 값이 null 이거나 공백일 경우 아무 내용도 표시하지 않음
  • JSP에서 기본으로 지원하고, JSTL은 따로 설치해야 한다.


JSTL의 개요

  • JSP 표준 라이브러리
  • JSP에서 스크립팅을 사용하지 않으면서,  루프를 돌리거나 조건문을 실행할 수 있도록 해줌
  • JSP에서 자주 사용하는 기능(반복과 조건, 데이터 관리포맷, XML 조작, 데이터베이스 엑세스)를 구현해 놓은 Custom Tag Library 모음
  • EL을 사용하여 표현
  • request, response, pageContext, application과 같은 JSP 내장 객체(Implicit Object)에 쉽게 접근할 수 있음

 

JSTL은 아래와 같이 5개의 라이브러리가 있다.

  1. 코어 (core) - 일반 프로그램 언어에서 제공하는 변수선언, 조건/제어/반복문 등의 기능 / c
  2. 포맷팅 (formatting) - 숫자, 날짜 ,시간을 포맷팅하는 기능과 국제화, 다국어 지원기능 / fmt
  3. 함수 (function) - 문자열을 처리하는 함수 제공 / fn
  4. 데이터베이스 (database) - 데이터 입력 수정 삭제 조회 기능 / sql
  5. XML 처리 (xml) - xml 문서를 처리할 때 필요한 기능 / x

JSTL의 사용

<!-- 선언부 -->
<%@ 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 태그

변수지원 set jsp에서 사용될 변수를 설정한다.
remove 설정할 변수를 제거한다.
흐름제어 if 조건에 따라 내부 코드를 수행한다.
choose 다중 조건을 처리할 때 사용
forEach 컬렉션이나 Map의 각 항목을 처리할 때 사용한다.
forTokens 구분자로 분리된 각각의 토큰을 처리할 때 사용한다.
URL 처리 import URL을 사용하여 다른 자원의 결과 삽입
redirect 지정한 경로로 리다이렉트
url URL 재작성
기타태그 catch 익셉션 처리에 사용
out jspWriter에 내용을 알맞게 처리한 후 출력

Hello 컨트롤러 작성

Controller 와 JSP 구현 절차

  1. 클라이언트의 요청을 처리할 POJO 형태의 Hellocontroller 클래스를 작성
  2. Controller 클래스에 @Controller 어노테이션 선언
  3. 요청을 처리할 메서드를 작성하고 @RequestMapping 어노테이션 선언
  4. JSP를 이용한 View 영역의 코드를 작성
  5. 브라우저 상에서 JSP 실행

Controller를 위한 핵심 어노테이션

  • @Controller Controller 클래스 정의
  • @RequestMapping HTTP 요청 URL을 처리할 Controller 메소드 정의

Controller와 JSP 호출 순서


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

  • Controller에서 Service를 호출한 결과를 받아서 view에 전달하기 위해, 전달받은 결과를 Model 객체에 저장
  • Model allAttribute(string name, Object value) - value 객체를 name 이름으로 저장하고, view 코드에서는 name으로 지정한 이름을 통해 value 사용

Controller와 JSP 구현

컴포넌트 스캔 범위 조정


실행화면


사용자 목록 조회 컨트롤러 작성

사용자 관리 프로젝트 클래스 설계


사용자 목록 조회 : Controller 와 JSP 구현 절차

  1. 클라이언트의 요청을 처리할 POJO 형태의 UserController 클래스 작성
  2. Controller 클래스에 @Controller 어노테이션 선언
  3. 사용자 목록을 조회하는 getUserList() 메서드를 작성하고 @RequestMapping 어노테이션을 선언
  4. userList.jsp 페이지에 View 영역의 코드를 작성
  5. 브라우저 상에서 JSP 실행


1. index.jsp

2. UserController.java

3. beans.xml 컴포넌트 스캔 설정

4. userList.jsp


실행화면

'Back-end > Spring' 카테고리의 다른 글

Spring MVC 어플리케이션 작성(3)  (0) 2021.06.14
Spring MVC 어플리케이션 작성(2)  (0) 2021.06.14
Spring MVC 환경설정  (0) 2021.06.14
Spring MVC 개요  (0) 2021.06.14
MyBatis 어플리케이션 작성(2)  (0) 2021.06.14

+ Recent posts