我有以下情况: WebProject结构:
- WebContent (Folder)
- js (Folder)
myfunctions.js (Javascript File)
- jsps (folder)
myjsp.jsp (JSP-File)
如何引用我的Java Server Page(myjsp.jsp)中的javascriptfile(myfunctions.js)?以下对我不起作用。
<script type="text/javascript" src="../js/myfunctions.js"></script>
到目前为止我做了什么:
我在 web.xml 中添加了一个Servlet Mapping来访问Tomcat中的静态内容
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/js/*</url-pattern>
</servlet-mapping>
我可以通过直接请求来访问该文件:
http://localhost:8080/mycontextroot/js/myfunctions.js
在我的jsp中使用绝对路径引用时,它也可以工作,但这不是最佳实践:
<script type="text/javascript" src="http://localhost:8080/mycontextroot/js/myfunctions.js"></script>
有任何帮助吗?我还想通过../../../
来防止使用参考位置路径答案 0 :(得分:0)
使用EL,你可以
<script ... src="${pageContext.request.contextPath}/js/myfunctions.js">
</script>
使用普通JSP
<script ... src="<%=request.getContextPath()%>/js/myfunctions.js" >
</script>
看到@Stefan的评论,我假设JS文件在WEB-INF下不,因为浏览器无法从那里获得。我会相应更正问题标题,以符合您的问题说明。