1.使用 pageScope 存储,使用 EL 表达式获取值

1.1把 basePath 存入pageScope

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

1.2.使用 EL 表达式取出

        function queryPage(curPage) {
		var url = "${pageScope.basePath}";
                alert(url);
 }

2.javascript 中使用 base 标签

2.1.把 basePath 存入base 标签

<base id="baseURL" href="<%=basePath%>">

2.2.通过 javascript 获取 base 标签的 href 属性值
function getURL() {
		var url = document.getElementById("baseURL").getAttribute("href");
		alert(url);
	}

3.<a> 中使用 <base> 标签

在 2 中使用 javascript 获取当前路径使用了获取<base> 标签 href 属性的方式,如果要直接在<a> 标签中使用的话,分为两种情况
3.1.写死的方式

      <a href="http://localhost:8080/test/login.jsp">测试<a>  这种直接写死的方式,当然也就谈不上使用 base 标签了。

3.2.base 标签自动添加功能

     <a href="test/login.jsp">测试<a> 这种方式,这种情况下,浏览器会自动的帮助我们加上base 标签的 href 属性在 test/login.jsp 前面,结果也是对的,而且这种结果是自动生成的,如果采用上面的方式,一旦 ip 或者端口被修改了,那么你就还得重新改程序。


注意:由上可知在<a>链接中使用第二种方式是最好的。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐