jsp 페이지 에서 다른 페이지 를 인용 하 는 간단 한 방법

이 제목 을 처음 봤 을 때....................................................................................이 두 가지 차 이 를 소개 하 는 문장 은 이미 엉망진창 이 되 었 다.샅 샅 이 뒤지다.블 로 거들 이 이 골동품 들 을 소개 하 러 왔 다 니.과감 한 alt+F4...
그렇게 생각한다 면...그럼 서둘러 페이지 를 닫 지 마 세 요...오늘 은 제 이 해 를 나 눠 보도 록 하 겠 습 니 다.뒷 글 이 시 끄 러 워 요)
우선 왜 이 화 제 를 토론 하 러 갔 는 지 설명 하 세 요.
내 가 블 로그 프로그램 을 쓸 때(blogv 2.labofjet.com)프로그램의 디 렉 터 리 는 데이터베이스 에 있 는 데 이 터 를 읽 어야 하 며,이 디 렉 터 리 는 여러 페이지 에서 인용 해 야 한다.이 럴 땐 어 떡 하지?
저 는 그때 정적 인용 을 사 용 했 습 니 다.jsp 페이지 에서<%@include file="menu.jsp"%>를 통 해 이 디 렉 터 리 의 jsp 페이지 세 션(디 렉 터 리 에 jsp 를 따로 만 들 었 습 니 다)을 인 용 했 습 니 다.단점 은 컨트롤 러 를 통 해 다른 페이지 로 이동 할 때 이 페이지 에 디 렉 터 리 의 HTML 세 션 만 포함 하면 컨트롤 러 에서 디 렉 터 리 의 dao 를 호출 하 는 방법 이 필요 합 니 다.그리고 request 에 값 을 설정 해 야 디 렉 터 리 페이지 를 정상적으로 표시 할 수 있 습 니 다.
나중에 생각해 보 니 servlet 을 쓰 는 것 이 좋 을 것 같 습 니 다.이 servlet 의 url 을 방문 하면 디 렉 터 리 의 HTML 세 션 을 얻 을 수 있 을 것 같 습 니 다.그리고 다른 페이지 에서 이 url 을 불 러 오 면 디 렉 터 리 의 HTML 세 션 을 불 러 오 는 것 과 같 습 니 다.이러한 장점 은 서로 다른 controller 에서 디 렉 터 리 의 dao 를 호출 할 필요 가 없다 는 것 이다.디 렉 터 리 의 dao 를 처리 하고 request 를 설정 한 다음 디 렉 터 리 의 page 로 돌아 가면 된다.그리고 jsp:include...
그리고 나 서 나 는 바 이 두 의 썩 은 거리의 물건 을 만 들 었 다.대부분의 글 은 jsp:include 는 jsp 를 참조 하고 동적 으로 컴 파일 할 수 있다 는 뜻 이다.blablabla。。。그러나 jsp:include 는 servlet 를 인용 할 수 있 습 니까?우 리 는 지금 논 리 를 jsp 에 넣 지 않 을 것 이다.보통 servlet 에 넣 고 jsp 로 넘 어 가 는 것 이다.실험 을 통 해 나 는 할 수 있다 는 것 을 발견 했다.하지만 아버 지 를 속 이 는 곳 이 있어 요...................................................주의 가 필요 하 다.
jsp:include 가 jsp 를 인용 할 때 완전히 OK.바로 인터넷 대부분의 글 에서 소개 한 내용 입 니 다.
jsp:include 가 servlet 를 인용 할 때 이 servlet 는 웹.xml 에 설정 해 야 합 니 다.그렇지 않 으 면 eclipse 가 빨 간 파도 선 을 줄 것 입 니 다.
위의 정 리 를 보고 새로운 문제 가 생 겼 는 지 모 르 겠 습 니 다.지금 우 리 는 프로그램 을 쓸 때 일부 프레임 워 크 를 사용 합 니 다.예 를 들 어 SpringMVC,우 리 는 웹.xml 에서 모든 Servlet 에 따로 설정 하지 않 고 SpringMVC 자신의 설정 파일 을 통 해 이 Controller(Servlet)를 설정 합 니 다.그럼 jsp:include 는 쓸 수 있 나 요?
답 은 할 수 있어...하지만 구덩이...구 덩이 는 eclipse 에 도 빨 간 선 을 긋 습 니 다.eclipse 는 이 url 에 대응 하 는 servlet 을 찾 을 수 없다 고 생각 하지만 실제로는 방문 할 수 있 습 니 다.
그리고 또 하나의 작은 문제 가 있 습 니 다.제 가 설정 을 잘못 한 것 일 수도 있 습 니 다.제 가 매번 jsp:include 를 할 때마다 console 에서 java.io.IOException:Stream closed 라 는 이상 을 보고 합 니 다.다른 servlet 을 인용 할 때 다른 servlet 에서 out 의 close 방법 을 자동 으로 호출 하여 다른 page 를 포함 한 page 의 내용 이 정상적으로 출력 되 지 못 하 는 것 같 습 니 다.이 문 제 를 나 는 계속 연구 하지 않 았 다.나 는 틀림없이 해결 방법 이 있 을 것 이 라 고 생각 하지만,나의 이 문장 이 토론 하고 자 하 는 중점 은 아니다.
이렇게 말 하면 지금 두 가지 작은 문제 가 있 습 니 다.하 나 는 이상 하고 하 나 는 eclipse 의 빨 간 선 이 잘못 되 었 습 니 다.쓸 수도 있 지만 기분 나 빠 요.
그 러 니까 대체 방법 을 찾 아 봐.바로 jstl 의 c:import 입 니 다.
이 라벨 은 사실 매우 간단 하 다.예 를 들 어 디 렉 터 리 HTML 세 션 에 대응 하 는 url 을/menu 로 설정 하면 디 렉 터 리 를 포함 하 는 페이지 에서

<c:import var="data" url="/menu" />
${data}
오케이 야.디 렉 터 리 가 다른 페이지 에 포함 되 었 습 니 다.너무 쉬 운 거 아니 야?
이상 의 jsp 페이지 에서 다른 페이지 를 인용 하 는 간단 한 방법 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 여러분 들 이 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기