include 태그 로 인해 js 경 로 를 찾 을 수 없 는 문제 분석 및 해결

jsp:include 태그 및<%@include 라벨 을 사용 할 때 주의해 야 할 사항 은 두 사람의 차 이 를 기억 하 세 요(이 글 에 있어 서 두 사람 은 용법 에 차이 가 없습니다)jsp:include 는 included.jsp 파일 을 먼저 컴 파일 한 다음 에 포함(먼저 컴 파일 하고 나중에 포함)@include 는 파일 을 먼저 포함 한 다음 에 통일 적 으로 컴 파일 합 니 다(먼저 포함 합 니 다.후 컴 파일)오늘 오후 에 Jquery 를 프로젝트 에 통합 하려 고 하 는데 어떻게 든 문제 가 생 길 수 있 습 니 다.원인 은 경로 문제 다.통합 할 때 제 생각 은 공공 JSP 파일 을 쓰 는 것 입 니 다.그 안에 자주 사용 하 는 js 파일 이 포함 되 어 있 습 니 다.물론 여기 서 제 가 사용 하 는 것 은 Jquery 플러그 인 입 니 다.그러나 쓰 고 보 니 공공 JSP 를 단독으로 테스트 하 는 것 은 사용 할 수 있 지만 공공 JSP 페이지 를 포함 하 는 페이지 는 JQuery 를 사용 할 수 없 었 고 처음에는 불 러 오 는 순서 가 문제 인 줄 알 았 다.몇 차례 의 테스트 를 거 쳐 마침내 그 중의 문 제 를 발견 하 였 다.프로젝트 파일 이 많 기 때문에 파일 을 한 폴 더 에 두 지 않 습 니 다.공공 JSP 페이지 에서
 
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<script type="text/javascript" src="js/jquery132min.js"></script>
<script type="text/javascript">
$(function(){
alert('hello1');
});
</script>
호출 할 때<%@include file="..././common 이 있 습 니 다.ext.jsp"%>오류 가 발생 할 수 있 습 니 다.include 이후 공공 JSP 가 자신의 JSP 에 불 러 오 면 JQueryr 의 상대 적 위치 가 바 뀌 었 기 때문이다.즉,공공 JSP 는 JQuery 의 상대 적 위 치 를 자신의 JSP 에 전 달 했 지만 자신의 JSP 는 자신 을 기준 으로 경 로 를 통 해 Jquery 플러그 인 을 찾 을 수 없습니다.쉽게 말 하면 상대 경 로 를 사용 하면 공공 JSP 의 경 로 는 자신의 JSP 에 대한 경로 가 되 어야 한 다 는 것 이다.그러나 이 는 공공 JSP 라 는 의 미 를 잃 은 것 이 분명 하 다.따라서 여기 서 절대적 인 경로 로 한다.
 
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String tPath = request.getContextPath();
String tBasePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+tPath+"/";
%>
<script type="text/javascript" src="<%=tBasePath%>js/jquery132min.js"></script>
<script type="text/javascript">
$(function(){
alert('hello1');
});
</script>
그러면 자신의 jSP 페이지 에 공공 JSP 를 도입 하면 된다.

좋은 웹페이지 즐겨찾기