>  기사  >  웹 프론트엔드  >  include tag_javascript 스킬로 인해 js 경로를 찾을 수 없는 문제 분석 및 해결 방법

include tag_javascript 스킬로 인해 js 경로를 찾을 수 없는 문제 분석 및 해결 방법

WBOY
WBOY원래의
2016-05-16 17:29:121817검색

jsp:include 태그와 <%@ include 태그 사용 시 주의할 점
먼저 둘 사이의 차이점을 기억해 보세요(이 글에서는 둘 사이에 사용법에 차이가 없습니다)
jsp:include 입니다. include.jsp 파일을 먼저 컴파일한 후 인클루드(컴파일 먼저 인클루드)
@include는 파일을 먼저 인클루드한 후 균일하게 컴파일(인클루드 후 컴파일)
사용하고 싶습니다. 오늘 오후에 Jquery를 프로젝트에 통합하고 무슨 일이 있어도 문제가 있음을 발견합니다. 그 이유는 경로 문제에 있습니다.
통합할 때 일반적으로 사용되는 js 파일이 포함된 공개 JSP 파일을 작성하는 것이 좋습니다. 물론 여기서는 Jquery 플러그인을 사용합니다.
그런데 작성해 보니 공개 JSP만 단독으로 테스트하면 사용할 수 있지만 공개 JSP 페이지가 포함된 페이지에서는 JQuery를 사용할 수 없다는 사실을 처음에는 로딩 순서 문제인 줄 알았습니다.

여러 테스트 끝에 문제가 발견되었습니다.
프로젝트 파일이 많아서 파일이 하나의 폴더에 배치되지 않습니다. 공개 JSP 페이지에는

코드 복사<가 있습니다. 🎜> 코드는 다음과 같습니다.
<%@ page Language="java" import="java.util.*" pageEncoding="utf-8"%> 🎜>< ;script type="text/javascript" src="js/jquery132min.js">



호출할 때 다음이 있습니다.
<%@ include file= "../../common_ext.jsp"%> 그러나 이로 인해 오류가 발생할 가능성이 높습니다.

이유는 include 후 공개 JSP가 자체 JSP로 로드되고 JQueryr의 상대적 위치가 변경되었기 때문입니다. 즉, Public JSP는 JQuery의 상대적 위치를 자신의 JSP에 전달하지만 자신의 JSP는 자신을 표준으로 사용하므로 해당 경로를 통해 Jquery 플러그인을 찾을 수 없습니다. 간단히 말해서, 상대 경로를 사용하는 경우 공용 JSP의 경로는 자신의 jSP 경로에 상대적이어야 합니다.
그러나 이는 공개 JSP라는 의미를 분명히 잃어버리므로 여기에서는 절대 경로를 사용하십시오.



코드 복사 코드 <%@ page 언어="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String tPath = request.getContextPath();
String tBasePath = request.getScheme() "://" request.getServerName() ":" request.getServerPort() tPath "/";




이렇게 하면 자신의 jSP에 있는 것처럼 페이지에 공개 JSP를 도입하기만 하면 됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.