JSP里设置PATH路径,解决路径问题

支持JSTL标签库和EL表达式的两个jar包

 

1.用JSTL标签库和EL表达式

引入JSTL标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

JSTL标签

<c:set var="path" value="${pageContext.request.contextPath}"/>

JavaScript

<script type="text/javascript" src="${path}/statics/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
    var path = "${path}";
    alert(path);
</script>

谷歌F12中可以看到引入JavaScript的路径已经变了

alert弹窗

与 <%=request.getContextPath()%>等价 

2.basePath

JSP中Java代码

<%
    String basePath = request.getScheme() + "://" + request.getServerName() + ":"+request.getServerPort() + request.getContextPath() + "/";
%>

JavaScript

<script type="text/javascript" src="${path}/statics/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
    alert("<%=basePath%>");
</script>

弹窗

解释

request.getScheme() 返回协议的名称   http,和后面的"://" 拼起来就成了 http://
request.getServerName() 这是获取你的服务器的名称,如果你的应用部署在本机那么其就返回localhost或者127.0.0.1 ,这2个是等价的
request.getServerPort()  是你应用使用的端口,比如8080或者80等等

3.<base href="<%=basePath%>">

<base> 标签为页面上的所有链接规定默认地址或默认目标

要在<head></head>下边定义

没有定义时候点击跳转

定义之后

原文地址:https://www.cnblogs.com/chuanqi1995/p/11547246.html