怎么在web工程的jsp页面的js中jsp 调用jsandroid工程的中

7196人阅读
jsp或html页面引用外部.css或.js文件时,注意路劲问题,如果设置不当,会引用不到这些外部的文件
假设使用下面的目录结构:
|-MyProject&&目录&
&|--WebContent&目录
&&|---scripts&目录
&&&---dtree.js&文件
&&|---styles&目录
&&&---main.css&文件&
&&|---pages&目录
&&&---test.jsp&文件
现在例如要在test.jsp中引用scripts目录下的dtree.js和styles目录下的main.css
有如下几种方法:
1.使用相对于jsp页面的相对路径
Html代码&[url=/blog/577469#][/url]
&link&type=&text/css&&rel=&stylesheet&&href=&../styles/main.css&&/&&&&script&type=&text/javascript&&src=&../scripts/dtree.js&&&/script&&&
&link&type=&text/css&&rel=&stylesheet&&href=&../styles/main.css&&/&&script&type=&text/javascript&&src=&../scripts/dtree.js&&&/script&
这样在页面使用http://localhost:8080/MyProject/test.jsp访问test.jsp时就可以引用到dtree.js和main.css。
2.使用相对于Web工程的相对路径
对于1中的相对使用相对于于jsp页面的相对路径的这种方式,如果我们是设置action跳转到test.jsp页面,那么这种使用相对路径的方式就引用不到了。
例如我们当访问http://localhost:8080/MyProject/main.do的时候,页面跳转到test.jsp页面,如果使用方法1,就引用不到了。
这个时候我们可以使用相对于Web工程的相对路径来引用:&
Html代码&[url=/blog/577469#][/url]
&link&type=&text/css&&rel=&stylesheet&&href=&styles/main.css&&/&&&&script&type=&text/javascript&&src=&scripts/dtree.js&&&/script&&&
&link&type=&text/css&&rel=&stylesheet&&href=&styles/main.css&&/&&script&type=&text/javascript&&src=&scripts/dtree.js&&&/script&
但是请注意:使用方法2这种方式引用,如果直接访问http://localhost:8080/MyProject/test.jsp,是引用不到的。
3.使用Web工程的绝对路径
方法1和方法2都有缺点,都只适用一种情况,有没有两种情况都适用的呢?答案肯定的!
我们使用绝对路径:
Html代码&[url=/blog/577469#][/url]
&link&type=&text/css&&rel=&stylesheet&&href=&/MyProject/styles/main.css&&/&&&&script&type=&text/javascript&&src=&/MyProject/scripts/dtree.js&&&/script&&&
&link&type=&text/css&&rel=&stylesheet&&href=&/MyProject/styles/main.css&&/&&script&type=&text/javascript&&src=&/MyProject/scripts/dtree.js&&&/script&
这样,不管是通过http://localhost:8080/MyProject/main.do跳转访问test.jsp还是直接访问http://localhost:8080/MyProject/test.jsp,都可以成功引用。
注意:如果我们在部署Web应用时,没有设置Context&Root(一般情况下配置为工程名),也就是IP和端口后面不带应用名,如http://localhost:8080/main.do和http://localhost:8080/test.jsp,这种情况在引用时就不能带工程名了,应该这样:
Html代码&[url=/blog/577469#][/url]
&link&type=&text/css&&rel=&stylesheet&&href=&/styles/main.css&&/&&&&script&type=&text/javascript&&src=&/scripts/dtree.js&&&/script&&&
&link&type=&text/css&&rel=&stylesheet&&href=&/styles/main.css&&/&&script&type=&text/javascript&&src=&/scripts/dtree.js&&&/script&
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:39020次
排名:千里之外
原创:52篇
转载:18篇
(1)(1)(3)(1)(9)(8)(3)(2)(2)(3)(1)(3)(2)(2)(2)(1)(7)(2)(2)(17)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'关于JAVA&EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
在有Struts部署的Java EE环境中,我们一般把jsp页面写在WebRoot\WEB-INF\content&目录下,这样使得jsp页面一定需要struts的控制转发才可访问,提高页面安全性。
但是今天在jsp页面中应用WebRoot目录中的css,js文件发现十分困难,先看看我的文件结构:
<img ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images//3743.png" STYLE="border-style:"
TITLE="关于JAVA&EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件" />
目标是在index.jsp中访问default.css。
defautl.css是在index.jsp目录的父目录的父目录的CSS目录下。所以我这样写:
ps:空格为故意添加,不知为何会自动变成博客园的网址
&&/span&link href="../ ../css/default.css" rel="stylesheet" type="text/css"/&
&&/span&link href="../ ../css/uploadify.css" rel="stylesheet" type="text/css"/&
在Eclipes中也出现超链接提示,说明目录正确,但是结果失败。
查询资料后,在百度百科中看到:
服务器下的WEB-INF文件夹是一个非常安全的文件,在页面中不能直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
从上面的实验可以看出,不但是直接访问,使用" ../ ../
"之类的间接访问也不能成功。
在此多方查询资料之后,尝试使用如下方法访问:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 jsp 调用父页面js方法 的文章

 

随机推荐