sitelink1  
sitelink2  
sitelink3  
sitelink4  
sitelink5  
sitelink6  

1. <jsp:include>

<jsp:include page="<%= content %>" />

<jsp:include page="menu.jsp" />

 

2. <%@ include file>

<%@ include file="/WEB-INF/jsp/menu.jsp" %>

 

 

3. 위 두 문법의 차이점 (from copilot)

JSP에서 <jsp:include>와 <%@ include file>는 모두 다른 페이지를 현재 페이지에 포함시키는 데 사용되지만, 

그들 사이에는 몇 가지 중요한 차이점이 있습니다12:

 

1. 번역 시간 vs 요청 시간: 

<%@ include file> 지시문은 번역 시간에 리소스를 포함시킵니다. 

번역은 JSP 생명주기에서 JSP가 서블릿으로 변환되는 단계를 의미합니다12. 

반면에, <jsp:include>는 요청 시간 또는 런타임에 리소스를 포함시킵니다12.

2. 정적 vs 동적 리소스: 

<%@ include file> 지시문은 주로 정적 리소스를 포함하는 데 사용됩니다2. 

포함된 리소스가 변경되면 변경 사항이 JSP 페이지에 반영되려면 페이지를 다시 컴파일해야 합니다12. 

반면에, <jsp:include>는 동적 리소스를 포함하는 데 더 적합합니다2. 

포함된 리소스가 변경되면 변경 사항은 다음 요청에서 JSP 페이지에 반영됩니다12.

3. 서블릿 생성: 

<%@ include file> 지시문을 사용하면 원본 JSP 파일과 포함된 리소스에 대해 하나의 서블릿만 생성됩니다2. 

반면에, <jsp:include>를 사용하면 원본 JSP 파일과 포함된 리소스에 대해 별도의 서블릿이 생성됩니다2.

4. 매개변수 전달: 

<jsp:include>를 사용하면 param 액션 태그를 사용하여 포함된 리소스에 매개변수를 전달할 수 있습니다2. 

반면에, <%@ include file> 지시문을 사용하면 포함된 리소스에 매개변수를 전달할 수 없습니다2.

 

이러한 차이점들로 인해, <%@ include file> 지시문과 <jsp:include> 액션 태그는 각각 다른 상황에서 더 적합할 수 있습니다.

 

4. <jsp:include> 액션 태그로 매개변수 전달하기(from copilot)

<jsp:include> 액션 태그를 사용하여 다른 페이지를 현재 페이지에 포함시키면서

<jsp:param> 액션 태그를 사용하여 매개변수를 전달하는 방법은 다음과 같습니다:

 

<jsp:include page="includedPage.jsp">

  <jsp:param name="parameter1" value="<%=value1%>" />

  <jsp:param name="parameter2" value="<%=value2%>" />

</jsp:include>

 

위의 코드에서 includedPage.jsp는 포함되는 페이지의 이름이며, parameter1과 parameter2는 전달되는 매개변수의 이름입니다.

value1과 value2는 각 jsp 매개변수의 값입니다.

 

포함된 페이지에서는 request.getParameter 메서드를 사용하여 이 매개변수를 검색할 수 있습니다.

다음은 이를 수행하는 JSP 코드 예제입니다:

 

<%= request.getParameter("parameter1") %>

<%= request.getParameter("parameter2") %>

 

이 코드는 parameter1과 parameter2 매개변수의 값을 출력합니다.

이 코드를 원하는대로 수정하거나 확장하여 사용하실 수 있습니다.

 

 

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
63 [ChatGPT] javax.* 패키지와 jakarta.* 패키지의 혼합 사용 방안 황제낙엽 2025.04.15 27
62 [ChatGPT] *.servlet.http.HttpServlet 클래스를 사용할 수 있는 주요 WAS 목록 황제낙엽 2025.04.14 36
61 jakarta.servlet 패키지를 이용한 File Upload 구현 (2024.03.03, Servlet 5.0) 황제낙엽 2025.01.02 177
60 [ChatGPT] Java EE가 Jakarta EE로 전환 황제낙엽 2025.01.01 239
59 [ChatGPT] <jsp:include>에서 flush="true"를 설정시의 몇 가지 문제점 과 대안 황제낙엽 2024.07.19 208
58 [Copilot] JSP, Servlet, web.xml, mysql 한글 설정 황제낙엽 2024.07.12 179
57 Base64 클래스의 encode, decode 에서 URL-safe 황제낙엽 2024.07.10 273
» [Copilot] JSP 에서 다른 페이지를 현재 페이지에 포함시키는 문법 (include) 황제낙엽 2024.06.26 224
55 [Gemini] HttpURLConnection 클래스를 이용한 데이터 전송 방식 비교 황제낙엽 2024.03.14 556
54 servlet name 에 camel case 를 사용해서는 안되는 이유 황제낙엽 2023.10.24 209
53 org.apache.commons.fileupload.servlet.ServletFileUpload 이용 예시 황제낙엽 2023.08.25 503
52 ServletFileUpload.parseRequest() 실행 결과 리스트가 비어있는 오류 황제낙엽 2023.08.25 659
51 어떤 multi-part 설정도 제공되지 않았기 때문에, part들을 처리할 수 없습니다. file 황제낙엽 2023.08.23 891
50 (Bard) the request was rejected because no multipart boundary was found file 황제낙엽 2023.08.23 337
49 (Bard) multipart/form-data 요청 처리를 위한 MultipartHttpServletRequest file 황제낙엽 2023.08.21 210
48 ajax 로 post 데이터를 servlet 으로 전달 받기 (with nexacro) [1] secret 황제낙엽 2023.02.26 0
47 HttpServletRequest, HttpServletResponse, JSONObject, POST 황제낙엽 2022.01.12 389
46 [JSP] 파일 다운로드 테스트 file 황제낙엽 2021.04.12 3560
45 [HttpURLConnection] Authorization 헤더를 넣어 GET Request 황제낙엽 2020.08.12 1062
44 [AWS, 웹 프로젝트] AWS+MySQL+SpringFrameWork5+JAVA8+ React+Gradle+Webpack+GIT+Jenkins file 황제낙엽 2020.04.08 553