jsp:include引入jsp文件的时候(如果被包含的文件存在js文件),不要用相对路径

jsp:include引入jsp文件的时候(如果被包含的文件存在js文件),不要用相对路径先回忆一下二者的区别(对于此篇文章而言,二者在用法上没有区别) jsp:include是先编译一下included.jsp文件,然后再包含 先编译,后包含@ include是先把文件包含就来,然后统一编译 先包含,后编译  今天下午想把jQuery集成到项目中,发现怎么样都会出问题。原因就是路径问题。在集成时,我的思路是…

大家好,又见面了,我是你们的朋友全栈君。

先回忆一下二者的区别(对于此篇文章而言,二者在用法上没有区别)

 

jsp:include是先编译一下included.jsp文件,然后再包含        先编译,后包含
@ include是先把文件包含就来,然后统一编译                   先包含,后编译

 

 

今天下午想把jQuery集成到项目中,发现怎么样都会出问题。原因就是路径问题。

在集成时,我的思路是写一个公共JSP文件,里面包含一些常用的js文件,当然此处我用的就是Jquery插件了。

但写完发现单独测试公共JSP是可以使用的,但包含公共JSP页面的页面却始终不能使用JQuery,开始还以为是加载顺序的问题。

几经测试,终于发现了其中的问题。

 

由于做的项目文件较多,故文件都不放在一个文件夹下:在公共JSP页面中,有

<%@ page language=”Java” import=”java.util.*” pageEncoding=”utf-8″%>

<script type=”text/JavaScript” src=”js/jquery132min.js”></script>

    <script type=”text/javascript”>     
    $(function(){

    alert(‘hello1’);
    });
</script>

 

在调用它的时候,有:

<%@ include file=”../../common_ext.jsp”%>

但这样很可能导致错误。

 

原因是,include之后,公共JSP被加载到自己的JSP,则JQueryr的相对位置已经发生了变化。即公共JSP把JQuery的相对位置传给了自己的JSP,但自己的JSP以自身为标准,通过路径就找不到Jquery插件了。简单地说,就是如果用相对路径,则公共JSP中的路径就应该是相对自己jSP的路径了。

 

但这样显然失去了它是公共JSP的意义,因此在这里用绝对路径来做:

<%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%>

<%
String tPath = request.getContextPath();
String tBasePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+tPath+”/”;
%>

<script type=”text/javascript” src=”<%=tBasePath%>js/jquery132min.js”></script>
    <script type=”text/javascript”>
    
    $(function(){

    alert(‘hello1’);
    });
    
    </script>

 

这样,只要在自己的jSP页面中引入公共JSP就可以了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147215.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 为什么领导不喜欢提拔老实人?退休的领导说出了实话

    为什么领导不喜欢提拔老实人?退休的领导说出了实话

    2022年2月14日
    51
  • HTTP、HTTPS等常用的默认端口号

    HTTP、HTTPS等常用的默认端口号最近部署一个接口访问对方域名,https开头Url,端口配成80,犯了个低级错误。重新学习一下。端口号标识了一个主机上进行通信的不同的应用程序。1,HTTP服务器,默认端口号为80/tcp(木马Executor开放此端口)2,HTTPS(securelytransferringwebpages)服务器,默认端口号为443/tcp  443/udp3,HTTP协议代理服务器常用…

    2022年6月29日
    25
  • 线性代数 行列式

    线性代数分为六大块:行列式矩阵向量方程组特征值二次型行列式一、行列式的概念1、二、三阶行列式2、排列、逆序、逆序数3、n阶行列式概念二、行列式的性质三、按行(列)展开公式1、代数余子式2、展开公式四、克拉默法则…

    2022年4月6日
    49
  • 微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网

    微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网进入的网址:https://mp.weixin.qq.com。测试号(网址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login),用户在开发之前可以通过测试号快速测试开发,但是测试号的接口能力有限,只限测试使用。1.1.1订阅号适用于个人和组织,群发消息1条/天,消息展示在订阅号列表里,有基础消息接口,可以自定义菜单,无微信支付功能。1.1.2服务号不适用于个人,群发消息4条/月,消息展示在会话表里,有基础消息接口,有高级接

    2022年8月20日
    13
  • BAT机器学习面试1000题系列(详细版)

    BAT机器学习面试1000题系列(详细版)BAT机器学习面试1000题系列置顶2017年12月14日15:19:15阅读数:20913几点声明:1、本文的内容全部来源于七月在线发布的BAT机器学习面试1000题系列;2、文章中带斜体的文字代表是本人自己增加的内容,如有错误还请批评指正;3、原文中有部分链接已经失效,故而本人重新加上了新的链接,如有不当,还请指正。(也已用斜体标出)4、部分答案由于完全是摘抄自其它的博客,所以本人就只贴出答…

    2022年5月23日
    41
  • docker 运行tomcat_docker和tomcat区别

    docker 运行tomcat_docker和tomcat区别在学习狂神的docker内容网络学习这一步的时候,按照步骤启动tomcat镜像,但是执行ipaddr之后发现下面问题,经过分析这说明我们下载的Tomcat镜像是精简版的,利用这个镜像去打开一个容器的时候发现没有ipaddr这个命令。所以到导致我们上述报错。上图执行的命令敲错了,重新执行aptinstall-yiproute2…

    2022年7月27日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号