导航:首页 > 编程语言 > jsp的basepath

jsp的basepath

发布时间:2023-09-15 12:54:15

『壹』 jsP页面文件中base标记用法实例分析

本文实例分析了JSP页面文件中base标记用法。分享给大家供大家参考,具体如下:
我们在用IDE工具生成JSP页面时通常都包含下面的两段代码,
<%
String
path
=
request.getContextPath();
String
basePath
=
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<head>
<base
href="<%=basePath%>">
</head>
它们绝对不是无用代码,详细如下:
base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。
重要属性:
href---设定前缀的链接地址
target---设定文件显示的窗口,同a标记中的target
简单例子:
<html>
<head>
<base
href=http://localhost
target="_blank">
<meta
http-equiv="Content-Type"
content="text/html;
charset=gb2312">
<title>base标记</title>
<link
rel="Shortcut
Icon"
href="ani.CUR">
</head>
<body>
<a
href="x.htm"
target="_self">x.html</a>
<a
href="y.htm">y.html</a>
</body>
</html>
当点了链接后,跳出的文件是http://localhost/x.htm或http://localhost/y.htm,它就是在这些相对路径的文件前加上基链接指向的地址。如果目标文件中的链接没有指定target属性,就用base标记中的target属性。
常在框架结构中用,如左右两个框架,把左边的框架中文件里的连接都显示在右边的框架里。只要用base标记,把其target属性值写为右框架名称,这就不用再为左框架里的文件中的每一个连接都指定target属性。
当使用时,BASE
元素必须出现在文档的
HEAD
内,在任何对外部源的引用之前。
另外,如果页面转向某个Servlet,而Servlet里又是forward到的某个jsp页面,如果这时写相对路径就应该先找到Servlet的路径,也就是web.xml中配置的url-pattern中的路径,如:假设有个x.jsp放在webapplication根目录下,而主页index.jsp是提交到servlet上去的,由Serlet来分发forward到x.jsp,Servlet的url配置如下:
复制代码
代码如下:<url-pattern>/servlet/TestServlet</url-pattern>
那么Servlet完成forward转向后,如果没有<base
href="<%=basePath%>">
x.jsp中<script
type="text/javascript"
src="script/check.js"></script>就会失效,因为Servlet的访问路径为http://localhost/webapp/servlet/TestServlet那么web服务器会到http://localhost/webapp/servlet/script/下去找check.js此时这里肯定是没有这个文件的,所以,如果遇到这样的情况建议使用绝对路径就不会有错复制代码
代码如下:<script
type="text/javascript"
src="<%=path%>/script/check.js"></script>
希望本文所述对大家JSP程序设计有所帮助。

『贰』 很简单的JSP问题,<base href="<%=basePath%>">这句话什么意思

这是设置基础路径的,basepath为变量
简单的静态网页的话你设置比如:<base href="http://www..com">,那你下面的href属性就会以你上面设的为基准,如:<a href="http://www..com/xxx.htm"></a>你现在就只需要写<a href="xxx.htm"></a>

『叁』 JSP中路径问题

jsp页面打头写<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
在需要写路径的地方写

<%=basePath%>WEB-INF/pages/loginpages/LoginSuccess.jsp

其实如果就按照你自己的写法,就是多写了专一个/,你把/WEB-INF,改为WEB-INF估计就可属以了

『肆』 关于MyEclipse中jsp的相对路径问题

jsp用的是绝对路径。你观察一下,在文件的头部是不是写了这么一段话。
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
在JSP文件中,所有你写的路径默认是要加在basePath后面的。也就是说,你写的路径,要是相对于服务器根目录(就是文档结构里的WebRoot文件夹)的相对路径。
而html就没有这个问题。它允许你写相对的,也允许你写绝对的。

回到你的例子上,你要先把图片放在项目文件夹下面,然后,写相对路径。例如:你把图片放在webroot下的image文件夹下面,那你就写image/xx.gif就可以了。

『伍』 在jsp页面<base href="<%=basePath%>">根本不起作用的原因是什么

先是在页面顶部定义变量,然后在base 标签的 href 属性设置页面中所有相对链接的基准 URL,所以不能说没有用。

<jsp:include page="<%=basePath%>Top.jsp"></jsp:include>

你没使用<%=basePath%>当然就不会生效咯。

『陆』 如何在js文件中如何获取basePath

js路径的问题有时候不好处理,在jsp中,我们可以用el表达式直接获取basePath,但是在单独js文件中不能用el表达式,又不想在jsp中单独的写个变量,可以用以下方法:

var location = (window.location+'').split('/');
var basePath = location[0]+'//'+location[2]+'/'+location[3];
var url = basePath + '/js/xxx.js';

『柒』 jsp basepath问题

这个得看你自己需要了,上面一个相当于绝对路径了,是从你的协议开始的(如http),而下面则只是表示的你的域名(一般就是你的项目名),相对于相对路径,其实用两个都是可以的,不过如果你为了控制提交路径的话,最好用上面一个,然后在<head></head>标签中加入<base href=“<%=basePath%>”,这样做的目的是为了控制表单提交路径

阅读全文

与jsp的basepath相关的资料

热点内容
lg怎么隐藏文件 浏览:836
苹果免费读书app推荐 浏览:497
刘骏微信 浏览:113
书旗旧版本80 浏览:467
教编程考什么证 浏览:990
下载编程猫后哪里有客服 浏览:13
如何编辑歌曲文件格式 浏览:638
cf无限领取cdk工具 浏览:350
如何让手机文件保存到电脑上 浏览:459
sa数据库默认密码是多少 浏览:191
电脑正在查找文件 浏览:541
一个文件盒省内寄顺丰多少钱 浏览:41
诛仙62坐骑怎么升级到63 浏览:926
linux以日期查看日志记录 浏览:446
工业大数据是什么东西 浏览:881
魅族note3怎么重置网络 浏览:510
c语言程序设计模 浏览:92
儿童怎么做可编程机 浏览:603
数据计算属于什么统计学 浏览:921
07word怎么去掉标记 浏览:979

友情链接