Javascript 如果在JSP文件中包含另一个JSP文件,则不会触发JS文件

Javascript 如果在JSP文件中包含另一个JSP文件,则不会触发JS文件,javascript,jsp,Javascript,Jsp,我有一个主jsp文件,在该jsp文件中,我调用了一个JS文件,并包括另一个名为login.jsp的jsp文件 在添加include for login.jsp之前,可以调用我的JS文件的函数。添加login.jsp后,它不再工作 我测试了在login.jsp中调用JS文件,它就是这样工作的。问题是,我不能这样做,因为许多JSP页面将包含login.JSP,我不需要调用每个使用login.JSP的JS文件 代码如下: 这是我的主要jsp文件: <html> <head> .

我有一个主jsp文件,在该jsp文件中,我调用了一个JS文件,并包括另一个名为login.jsp的jsp文件

在添加include for login.jsp之前,可以调用我的JS文件的函数。添加login.jsp后,它不再工作

我测试了在login.jsp中调用JS文件,它就是这样工作的。问题是,我不能这样做,因为许多JSP页面将包含login.JSP,我不需要调用每个使用login.JSP的JS文件

代码如下:

这是我的主要jsp文件:

<html>
<head>
.. some scriplets with no error ...
<SCRIPT type="text/javascript" src="<%=request.getContextPath()%>/js/pcLotsFrontProcessMaterialRegistration.js" ></SCRIPT>
.. other js files that is included this way ..
</head>
<body>
<div id="login_holder" align="center">
<jsp:include flush="true" page="../admin/login.jsp"></jsp:include>
</div>
... some codes ....

</body></html>

.. 一些没有错误的涂鸦。。。
.. 以这种方式包含的其他js文件。。
... 一些代码。。。。
我的login.jsp如下所示:

<div id="login-box">
<table id="login-box-table">
... table contents ...
</table>
</div>
<script>
... functions ...
</script>

... 表格内容。。。
... 功能。。。
这种格式有问题吗

请不要介意scriplets和所有我打算修改他们的其他时间,我只需要使这项工作首先


非常感谢D

由于您选择省略javascript,因此很难判断发生了什么,但是login.jsp中的javascript很可能与“main”jsp中的javascript冲突

我建议使用javascript控制台和调试器(如Chrome或FireFox中的开发人员工具)来查找问题

顺便说一句,这不是一种很好的组织方式,而且特别容易出现这种问题

首先,您不应该在jsp页面中使用javascript—它应该在外部的.js文件中,并且应该用名称隔开以避免冲突(我建议阅读Doug Crockford的“javascript—好的部分”)

其次,有更好的方法来编写页面——例如,看看ApacheTiles项目。

使用@include怎么样 像



如果您的页面是静态页面

您是否审阅了浏览器从您的代码中收到的实际源代码?包含路径是否正确(浏览器看到的)?
<%@include file="../admin/login.jsp" %>