我有一个主jsp文件,在该JSP文件中,我调用了一个JS文件,并包含另一个名为login.jsp的JSP文件。
在为login.jsp添加include之前,可以调用我的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>
我的login.jsp是这样的:
<div id="login-box">
<table id="login-box-table">
... table contents ...
</table>
</div>
<script>
... functions ...
</script>
这种格式有问题吗?
请不要介意潦草和我打算在其他时间修改它们,我只需要先做这项工作。
非常感谢你。 :d
答案 0 :(得分:1)
由于您选择省略javascript,因此很难说出正在发生的事情,但是很可能在login.jsp中的javascript中的某些内容与'main'jsp中的javascript相冲突。
我建议使用javascript控制台和调试程序(如Chrome或FireFox中的Developer Tools)来查找问题。
顺便说一下,这不是一种非常好的结构化方法,而且特别容易出现这类问题。首先,你不应该在你的jsp页面中使用你的javascript - 它应该在外部.js文件中,它应该是名称间隔以避免冲突(我建议阅读Doug Crockford的'Javascript - 好的部分“)。
其次,有更好的方法来组合页面 - 例如,看看Apache Tiles项目。
答案 1 :(得分:-1)