- jsp의 내용을 추가하고 싶은 부분에 아래와 같이 태그를 사용해서 내용 추가
<jsp:include page="header.jsp" />
<jsp:include page="/top.jsp" flush="true" />
예시
main.jsp
<%@ page contentType="text/html; charset=utf-8" %>
<!DOCTYPE html>
<html>
<head>
<title>main</title>
</head>
<body>
<p>내용1</p>
<jsp:include page="sub.jsp" />
<p>내용2</p>
</body>
</html>
sub.jsp
<%@ page contentType="text/html; charset=utf-8" %>
<p>
내용 끼워넣기~
</p>
결과
내용1
내용 끼워넣기~
내용2
- 실제 개발에서는 웹페이지의 상단, 푸터, 메뉴 등 항상 같은 레이아웃의 부분을 가지는 경우가 대부분이다.
- 각각의 화면마다 같은 코드를 가지고 있고 내용이 변해서 하나하나 다 변경해야 한다면?
- include 액션태그를 사용하면 중복 코드를 손쉽게 처리할 수 있다.
2. jsp:param 태그로 포함할 페이지에 파라미터 추가
<jsp:include> 태그 안에 <jsp:param> 태그를 넣어주면 포함하려는 페이지에 파라미터를 추가할 수 있다.
<jsp:param>을 통해 전달하기 전
request.setCharacterEncoding()
메소드를 통해 캐릭터 인코딩을 설정해주어야 영문/숫자 이외의 한글 데이터가 잘 전달된다.
<jsp:include page="/sub.jsp">
<jsp:param name="param1" value="value1" />
<jsp:param name="param2" value="value2" />
</jsp:include>
예제
main.jsp
<!DOCTYPE html>
<%@ page contentType="text/html; charset=utf-8" %>
<% request.setCharacterEncoding("utf-8"); %>
<html>
<head>
<title>main</title>
</head>
<body>
<p>내용1</p>
<jsp:include page="sub.jsp">
<jsp:param name="name" value="김삿갓" />
<jsp:param name="age" value="30" />
</jsp:include>
<p>내용2</p>
</body>
</html>
sub.jsp
<%@ page contentType="text/html; charset=utf-8" %>
<p>
이름: <%= request.getParameter("name") %> <br>
나이: <%= request.getParameter("age") %>
</p>
main.jsp 출력결과
내용1
이름: John
나이: 30
내용2
3. jsp:include 태그가 다른 페이지를 포함하는 방식
- 실행 흐름 제어
- <jsp:include> 태그를 만나면 요청 흐름이 포함된 페이지로 이동
- 포함된 페이지에서의 실행 흐름이 끝나면 출력버퍼에 내용을 저장 후 원래 페이지로 실행 흐름이 돌아온다.
'웹 > JSP' 카테고리의 다른 글
9. <jsp:forward> 액션 태그 (0) | 2020.07.19 |
---|---|
8. include 디렉티브 (0) | 2020.07.19 |
6. 에러 처리와 에러 페이지 (0) | 2020.07.19 |
5. out, application 객체 (0) | 2020.07.19 |
4. response 기본 객체 (0) | 2020.07.19 |