JSP 4강 - include, taglib, EL
include
위쪽 : Top
중간 : Aside
아래 : Bottom
include 디렉티브란?
- 현재 JSP 페이지의 특정 영역에 외부 파일(top.jsp, bottom.jsp)의 내용을 포함하는 태그
- 외부 파일? JSP, HTML, 텍스트 파일
- 어디든 선언 가능함
메인 안에 서버를 넣을 때 include를 사용
EL, JSTL
모델에 데이터를 담아서 담겨진 데이터를 그대로 사용 가능
https://mvnrepository.com/ - mavenrepository에서 JSTL(어흥) 검색
2번째거
JRE - runtime
JDK - development
꿀팁!!
프로젝트 우클릭> Build Path> Add External JARs 클릭> tomcat폴더에 lib에 jar파일 저장 후 해당 폴더 클릭하기
taglib
-
taglib 디렉티브?
현재 JSP 페이지에 표현 언어(EL), JSTL, 사용자 정의 태그(custom tag)와 같은
태그 라이브러리를 설정하는 태그임
taglib uri="경로" prefix="태그 식별자" -
원리?
taglib 디렉티브 태그가 서블릿 프로그램으로 번역됨.
uri 경로가 JSP 컨테이너에 사용자가 정의한 태그 라이브러리의 위치를 알려줌
prefix 속성의 값(c, fmt)은 사용자가 정의한 태그 라이브러리의 접두어 태그가 무엇인지 JSP 컨테이너에 알려주는 역할을 함
c(core의 약자), fmt(format의 약자)
uri는 core를 사용할지, format을 사용할지 결정
라이브러리에 JSTL이 있어야 taglib 사용 가능
먼저, 아래와 같이 taglib 디렉티브를 만들어준다.(아래는 core 사용시)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/css/bootstrap.min.css" />
<title>Welcome</title>
</head>
<body>
<!-- top.jsp시작 -->
<%@ include file="top.jsp" %>
<!-- top.jsp끝 -->
<%!
String greeting = "Welcome to 유진이의 Shopping Mall";
String tagline = "Welcome to 유진이의 Marget!";
%>
<div class="jumbotron">
<div class="container">
<h3 class="display-3">
<!-- ?name=개똥이 -->
Welcome to ${param.name}의 Shopping Mall
</h3>
</div>
</div>
<div class="container">
<div class="text-center">
<h3>Welcome to ${param.name}의 Marget!</h3>
</div>
</div>
<!-- bottom.jsp 시작 -->
<%@ include file="bottom.jsp" %>
<!-- bottom.jsp 끝 -->
</body>
</html>
아래 그림은 core를 사용해서 forEach문을 작성한 것, 중요함!!!
여기서 ${i}가 바로 EL이다.
[숙제]
문제 1. Page 디렉티브 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인해보자.
1) page.jsp 파일 생성
- page 디렉티브 태그에 java.util.Date, java.lang.Math 클래스를 이용하여 현재 날짜와 5의 제곱을 출력해보자.
2) 웹 브라우저에 /ch03/page.jsp를 입력하여 실행결과를 확인해보자.
[답]
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
현재 날짜 : <%=new Date()%><br />
5의 제곱 : <%=Math.pow(5, 2)%>
</body>
</html>
문제2. Include 디렉티브 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들어보자.
1) header.jsp 파일 생성
- <h4>태그를 이용하여 "Hello, Java Servlet Page"를 선언함
2) include03.jsp 파일 생성
- include 디렉티브 태그를 이용하여 외부 파일 header.jsp의 내용을 포함함.
- java.util.Calendar 클래스를 이용하여 현재 시간 출력
3) 웹 브라우저에 /ch03/include.jsp를 입력하여 실행 결과 확인
[답]
<%@page import="java.util.Calendar"%>
<%@ 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>
<%@ include file="header.jsp" %>
현재 시간 : <%=Calendar.getInstance().getTime()%>
</body>
</html>
Date 클래스 사용 시 - Date와 Calendar의 차이
<%@page import="java.util.Date"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.text.DateFormat"%>
<%@page import="java.util.Calendar"%>
<%@ 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>
<%@ include file="header.jsp" %>
현재 시간 : <%=Calendar.getInstance().getTime()%>
<%
//날짜 형식을 String으로 혹은 String을 날짜 형식으로 변환하기 위한 포맷형식이다.
DateFormat format = new SimpleDateFormat("yyyy/MM/dd");
//Calendar형식에서 날짜를 가져온다. 특이점은 Calendar가 singleton형식이다.
//Date 값을 가져와서 String으로 변환한다.
String datestr = format.format(Calendar.getInstance().getTime());
out.print(datestr +"<br />");
//String 형식을 Date형식으로 변환한다.
Date date = format.parse("2021/04/30");
out.print(date+"<br />");
%>
</body>
</html>
문제3. taglib 디렉티브 태그를 이용하여 다음처럼 출력해보자
1) taglib02.jsp 파일 생성
[숙제]
1. 디렉티브 태그의 세 가지 유형은?
2. JSP 페이지가 사용할 자바 클래스를 설정하기 위한 page 디렉티브 태그의 속성은?
3. JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 디렉티브 태그는 무엇이었나?
나의 답 :
1. page, taglib, include
2.
CH04. 액션태그
Action Tag란?
- 서버(tomcat)나 클라이언트(크롬)에게 어떤 행동을 하도록 명령
- 페이지와 페이지 사이를 제어
- 다른 페이지의 실행 결과 내용을 현재 페이지에 포함
- 자바빈즈 처리
- 반드시 끝나는 태그 />로 마무리해야 함
- Action Tag에서 자주 사용되는 태그
1) forward : forward
2) include : include
3) param : param
4) 자바빈즈 : useBean, setProperty, getProperty
액션태그에서 사용되는 include는 조금 더 동적이다.
디렉티브의 include는 정적
Author And Source
이 문제에 관하여(JSP 4강 - include, taglib, EL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gksmf6699/JSP-4강저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)