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
    jspServletServletrequestreponse
    <%@include
    >Servlet
    requestreponse

因为包含的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方法?期待有个好的解释![期待脸]

 

 

 

 

 

 

 

 



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值