jsp调用其他jsp中的js代码
前言
在熟悉代码时,随便选了一个按钮,规则导出的功能。
在使用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的两种用法),其中有几句话:
可以拜访请求作用域内的全部对象
? 这句话的意思就是可以直接调用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代码相关推荐
- js代码 父页面调用子页面中的js方法,子页面调用父页面中的js方法
文中代码亲测可用,转载以示尊重!!! <!--主页面中的JS代码--> <script type="text/javascript"> //调用子页面的方法 ...
- JavaScript——关于JavaScript、在HTML中嵌入JS代码的三种方式、变量
文章目录 JavaScript 01 关于JavaScript 1.1 JS的发展历史 1.2 JS的特性 1.3 JS的组成 1.4 JSP和JS的区别 02 在HTML中嵌入JS代码的三种方式 2 ...
- eclipse 新建java无scr_解决eclipse中没有js代码提示的问题
自学js,发现eclipse中不管js文件.html文件.jsp文件没有都没js代码的提示,对于js代码也不报错,有时候就因为单词敲错却查了很久没查出来,很烦很难受. 在网上找了很多方法,都没有解决, ...
- java 执行html里的js_如何用java执行指定页面中的js代码
展开全部 要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,e69da5e6ba9062616964757a686964616f31333366303133否 ...
- 高仿【华为消费者业务官网】和精彩动画剖析:练习在低代码平台中嵌入JS代码
本课程是华为消费者业务官网的仿站习作. 页面排版精美,照搬原站UI,一键导入HTML和CSS,还原度非常高,达到以假乱真的程度. 本课程重点是带领读者学习如何在众触低代码应用平台中嵌入JS代码,也有视 ...
- js向head中添加js代码
js向head中添加js代码 1.$("<script>").attr("type","text/javascript") .h ...
- Nodejs 中运行 JS 代码
Nodejs 中运行 JS 代码 接下来,演示一下 Nodejs 中如何运行 JS 代码. 以前 JS 只能运行在浏览器中,Node.js 出现之后,不管是服务器上,还是我们自己的的笔记本上,只要安装 ...
- Chrome谷歌浏览器在DevTools中调试JS代码格式化
大家在Chrome浏览器中调试JS代码时经常看到的是被压缩后的JS代码,可读性很差,在DevTools中js页面最下面有个格式化的图标**{}**,如下图所示: 点击格式化后会打开新的视图,新js名称 ...
- 如何在浏览器中调试JS代码,debug
如何在浏览器中调试JS代码,debug 首先需要一段js代码,我将它放进html文件里面: 创建一个html文件,<script>标签里面放入需要调试的js代码,html文件如下: < ...
最新文章
- 汇编语言中寻址方式[bx + idata]
- 你以为 CSS 只是个简单的布局?装逼指南了解一下
- 原码的一位乘法和补码的一位乘法对比
- 北航计算机和上财金融,这所985财经学府,不招本科生,隐藏实力却已超过上财、央财?...
- 【第15章】多重继承
- IronPython资料
- (JAVA)CollectionDemo1
- SQL光标的基本使用
- Window mobile 实现CLIST始终选中最新添加数据
- VBS表白代码以及一些注意事项
- 原创!PlusU盘病毒免疫工具,让你轻松远离伪装成文件夹的U盘病毒!
- Cfree5可以JAVA_无法使用free()释放内存
- 实验六—基本数据管理(三)
- 手机端如何维持登录状态
- sap委外退料流程图_生产部领退料流程图
- 管控内网安全 六项措施守护企业核心机密
- 洗料系列-杂谈篇-麻将自动化---第一章、麻将基础入门
- 为什么有些程序员悄无声息渡过35岁中年危机
- 本科英语和计算机题库,计算机专业英语题库自考本科.doc
- 苹果电脑MAC OS下快捷键列表大全