前言

在熟悉代码时,随便选了一个按钮,规则导出的功能。

在使用F12进行debug时,发现被调用的js方法和按钮不在一个jsp页面中,感觉很神奇的调用了!

正文:

第一阶段:

通过F12查看调用的路径,可以看到被调用的方法名。

在代码中搜方法名关键字可以得到名字叫XXX的Java方法和在B.jsp中调用这个方法的js代码.

但是B.jsp中并没有调用JS方法的地方。

所以,我再次用搜索方法,在代码中搜JS方法,得到和B.jsp同一级目录的A.jsp文件。

截至目前,相当于是在一个jsp页面中调用了另外一个jsp中的js代码了,我在网上搜索,很明显,大量的经验者告诉我们不能在jsp中调用另外一个JSP中的js方法。

但是!在index.jsp文件中有这样一句代码:<jsp:include page="B.jsp"/>,也就是说,B.jsp页面被包含在A.jsp页面中。似乎这样就可以解释为啥可以在A.jsp中调用B.jsp的js方法了。

第二阶段:

然而,当我想了解一下include标签时,看到的是这样的:

1
而对于动态包含<jsp:incude
    >,如果被包含文件是动态的,那么就会生成两个Servlet,也就是被包含文件也要经
    过jsp引擎编译执行生成一个Servlet,两个Servlet通过request和reponse进行通
    信。如果被包含的文件是静态的,那么这种情况和<%@include
    >就很相似,只生成了一个Servlet,但是他们之间没有进行简单的嵌入,而依然是通
    过request和reponse进行的通信。

因为包含的jsp页面并不是静态的,所以会编译成两个servlet文件,我感觉和其他两个平常的jsp页面是一样的啊!!~

难道是我理解的有问题??

 

看到一篇文章(具体参见JSP中的include的两种用法),其中有几句话:

1
JSP容器将通过一个内部的函数调用来执行指定的资源.因此
,这些被引入的资源可以帮助处理本来的请求
,所以这些资源可以拜访请求作用域内的全部对象.以及全部本来的请求参数.  

可以拜访请求作用域内的全部对象​?  这句话的意思就是可以直接调用include jsp中的js方法???

按照上面的想法,生成的两个servlet之间通讯是通过request和response来进行消息的传递,所以,请求作用域也只是request范围内的对象吧。

第三阶段:

之后,猜想是不是因为JSP在编译之后有啥不一样的地方?因为jsp中的东西包括java html 和js代码,有可能是这三种的处理方式不一样。

然后百度了一下jsp编译过程,得到如下图:https://blog.csdn.net/napoay/article/details/50755064

JSP的生命周期大概就是这个样子,下面有一个更为详细的有关jsp生命周期的文章:

https://blog.csdn.net/oncealong/article/details/51393266

然而,看了很多的文章,只是说JSP中是有Java代码和html代码,并没有提js,是js默认就是当作html里面了吗??......

现在能理解的可能的情况就是,在编译之后,JS是在前端的代码,所以,所有的js代码都被放进了html里面,所以就可以直接调用了。

如果是这样就有了另外一个疑惑,百度“JSP调用另外一个jsp的js代码”得到的结果都是不可以直接调用另外一个jsp里面的js代码......

第四阶段:

在CSDN发了一个帖子,a.jsp为什么能调用b.jsp里面的js方法?期待有个好的解释![期待脸]



jsp调用其他jsp中的js代码相关推荐

  1. js代码 父页面调用子页面中的js方法,子页面调用父页面中的js方法

    文中代码亲测可用,转载以示尊重!!! <!--主页面中的JS代码--> <script type="text/javascript"> //调用子页面的方法 ...

  2. JavaScript——关于JavaScript、在HTML中嵌入JS代码的三种方式、变量

    文章目录 JavaScript 01 关于JavaScript 1.1 JS的发展历史 1.2 JS的特性 1.3 JS的组成 1.4 JSP和JS的区别 02 在HTML中嵌入JS代码的三种方式 2 ...

  3. eclipse 新建java无scr_解决eclipse中没有js代码提示的问题

    自学js,发现eclipse中不管js文件.html文件.jsp文件没有都没js代码的提示,对于js代码也不报错,有时候就因为单词敲错却查了很久没查出来,很烦很难受. 在网上找了很多方法,都没有解决, ...

  4. java 执行html里的js_如何用java执行指定页面中的js代码

    展开全部 要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,e69da5e6ba9062616964757a686964616f31333366303133否 ...

  5. 高仿【华为消费者业务官网】和精彩动画剖析:练习在低代码平台中嵌入JS代码

    本课程是华为消费者业务官网的仿站习作. 页面排版精美,照搬原站UI,一键导入HTML和CSS,还原度非常高,达到以假乱真的程度. 本课程重点是带领读者学习如何在众触低代码应用平台中嵌入JS代码,也有视 ...

  6. js向head中添加js代码

    js向head中添加js代码 1.$("<script>").attr("type","text/javascript") .h ...

  7. Nodejs 中运行 JS 代码

    Nodejs 中运行 JS 代码 接下来,演示一下 Nodejs 中如何运行 JS 代码. 以前 JS 只能运行在浏览器中,Node.js 出现之后,不管是服务器上,还是我们自己的的笔记本上,只要安装 ...

  8. Chrome谷歌浏览器在DevTools中调试JS代码格式化

    大家在Chrome浏览器中调试JS代码时经常看到的是被压缩后的JS代码,可读性很差,在DevTools中js页面最下面有个格式化的图标**{}**,如下图所示: 点击格式化后会打开新的视图,新js名称 ...

  9. 如何在浏览器中调试JS代码,debug

    如何在浏览器中调试JS代码,debug 首先需要一段js代码,我将它放进html文件里面: 创建一个html文件,<script>标签里面放入需要调试的js代码,html文件如下: < ...

最新文章

  1. 汇编语言中寻址方式[bx + idata]
  2. 你以为 CSS 只是个简单的布局?装逼指南了解一下
  3. 原码的一位乘法和补码的一位乘法对比
  4. 北航计算机和上财金融,这所985财经学府,不招本科生,隐藏实力却已超过上财、央财?...
  5. 【第15章】多重继承
  6. IronPython资料
  7. (JAVA)CollectionDemo1
  8. SQL光标的基本使用
  9. Window mobile 实现CLIST始终选中最新添加数据
  10. VBS表白代码以及一些注意事项
  11. 原创!PlusU盘病毒免疫工具,让你轻松远离伪装成文件夹的U盘病毒!
  12. Cfree5可以JAVA_无法使用free()释放内存
  13. 实验六—基本数据管理(三)
  14. 手机端如何维持登录状态
  15. sap委外退料流程图_生产部领退料流程图
  16. 管控内网安全 六项措施守护企业核心机密
  17. 洗料系列-杂谈篇-麻将自动化---第一章、麻将基础入门
  18. 为什么有些程序员悄无声息渡过35岁中年危机
  19. 本科英语和计算机题库,计算机专业英语题库自考本科.doc
  20. 苹果电脑MAC OS下快捷键列表大全

热门文章

  1. html+js实现生成验证码实例代码分享
  2. 正确找到 comsol 案例
  3. wps云文档本地服务器,wps账户登录云存储服务器
  4. springboot+thymeleaf实现发Html邮件自由
  5. DM中的参数与参数的修改:
  6. 话说当下罗真人道 水浒
  7. 【ArcGIS基础操作:获取多边形质心】
  8. 基于微信小程序的聊天室源码设计实践
  9. C 标准库 (stdio.h 介绍)
  10. “博士坐下,硕士留下,本科等下,专科让下!”你敢不努力学习?