您的位置:首页 > Web前端 > JavaScript

base标签和JSP声明变量解决文件相对路径和绝对路径问题

2017-05-22 14:25 495 查看
先看需求:同一个项目需要给不同的客户部署,有的客户使用windows,有的客户使用Linux。使用windows的客户,其用户文件是保存在tomcat的相对路径下;使用Linux的客户,其用户文件是保存在一个绝对路径下。

问题:同一个文件的显示,相对路径能够显示,绝对路径也可以显示。

解决方案:采用html的base标签

<base href="http://****/**/" />
.......
.......
<img src="test.gif" /><!-- windows-->
<img src="http://****/**/test.gif" /><!-- linux-->


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

通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。使用 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 、、、 标签中的 URL。

如果url是绝对的,就不会提取。这样就解决了相对路劲和绝对路劲的问题。

问题:有许多jsp页面,每个页面的base需要统一,但是客户不同,base的href通常不一样,就需要集成。

解决方案:采用jsp的声明变量。

<%@ include file="/views/BasePath.jsp"%>
<!DOCTYPE html>
<html lang="en">
<head>
<base href="<%=basePath%>">
</head>
</html>


BasePath.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath=path+"/";
%>


变量basePath在basePath.jsp中声明,其在include了basePath.jsp的页面中就可以直接使用。

这样就解决了集成问题。

最后,我是一枚棒棒的程序猿。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jsp
相关文章推荐