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

<base>标签在jsp页面的应用

2014-07-11 14:24 441 查看


定义和用法

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

通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。

使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。

也就是说base标签可以规定页面所有链接的基准URL。所谓的基准URL,就是说页面其他的链接都是继续拼接在这个URL后面的相对地址。

看个实例:

*****************Jsp页面代码*********************

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
//假如你的项目名称是ssp,那么basePath最后获得的值就是 --> http://localhost:8080/ssp/ String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>


<head>
<base href="<%=basePath%>">
</head>


其中:

request.getSchema()可以返回当前页面使用的协议,http 或是 https;

request.getServerName()可以返回当前页面所在的服务器的名字;

request.getServerPort()可以返回当前页面所在的服务器使用的端口,就是80或者8080;

request.getContextPath()可以返回当前页面所在的应用的名字;

现在基准的URL已经确定了,就是 http://localhost:8080/ssp/
接下来,就是相对于这个路径,写访问其他资源的路径。

比如:超链接

<a href="user/userList.jsp">用户列表</a>

当点击用户列表的超链接的时候相当于访问的服务器资源地址为:http://localhost:8080/ssp/user/userList.jsp

Form表单:

<form name="form" action="/withdraw/withdrawSave.do" method="post" enctype="multipart/form-data"></form>

提交Form表单的时候,访问的后台的方法就是 http://localhost:8080/ssp//withdraw/withdrawSave.do
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: