본문 바로가기

웹 프로그래밍/JSP

[JSP] include(지시자와 액션태그) + jstl import

1. 지시자 include
servlet으로 바뀔 때 포함된다.
그런데, HTML이 그대로 다 포함된다. 코드가 길어진다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ include file="common.jsp" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	msg1 : <%= msg %><br>
	msg2 : ${ msg }
	
	<h2>인클루드 전</h2>
	<jsp:include page="one.jsp"/>
	<h2>인클루드 후</h2>
</body>
</html>

 

 



2. Action
.jsp를 사용자가 요청했을 때 공통의 코드를 호출한다.
즉, 공통의 코드로 갔다가 다시 원래의 코드로 돌아오는 것이다.
2개 이상의 jsp가 response에 응답하는 형태다.
- request 영역에 변수 등록
- parameter 설정을 통해 공통의 코드에 변수 전달

==> 자신의 웹서버에 있는 파일만 포함 가능
==> 가장 일반적인 형태다. 대부분 사용한다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ include file="common.jsp" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		request.setAttribute("id", "hong");
	%>
	

	msg 표현식: <%= msg %><br>
	msg EL : ${ msg }<br>
	
	msg2 표현식: <%= msg2 %> <br>
	msg2 EL : ${ msg2 }<br>
	
	<h2>인클루드 전</h2>
	
	파라미터 미설정 호출<br>
	<jsp:include page="one.jsp"/>
	
	파라미터 설정 호출<br>
	<jsp:include page = "one.jsp">
		<jsp:param name = "name" value = "hong gil dong"/>
		<jsp:param name = "age" value = "29"/>
	</jsp:include>
	
	<h2>인클루드 후</h2>
</body>
</html>


3. jstl import 
<c:import url = >
메소드 호출 방식이다. request 영역이나 param이라는 태그를 통해
name과 value를 넘긴다.

==> 내 사이트 뿐만 아니라, 다른 사이트에 있는 내용도 포함시킬 수 있음

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ include file="common.jsp" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		request.setAttribute("id", "hong");
	%>
	

	msg 표현식: <%= msg %><br>
	msg EL : ${ msg }
	
	<%-- msg2 표현식: <%= msg2 %><br>
	msg2 EL : ${ msg2 } --%>
	
	<h2>인클루드 전</h2>
	
	파라미터 미설정 호출<br>
	<%-- <jsp:include page="one.jsp"/> --%>
	<c:import url="one.jsp"/>
	
	파라미터 설정 호출<br>
	<%-- <jsp:include page = "one.jsp">
		<jsp:param name = "name" value = "hong gil dong"/>
		<jsp:param name = "age" value = "29"/>
	</jsp:include> --%>
	
	<c:import url ="one.jsp">
		<c:param name="name" value="hong, gil-dong"/>
		<c:param name="age" value="24"/>
	</c:import>
	
	
	<h2>인클루드 후</h2>
	<h2>다음 사이트 인클루드</h2>
 	<%-- <jsp:include page="http://kopo.ac.kr"></jsp:include>  --%>
	<c:import url = "http://kopo.ac.kr"/>
</body>
</html>