0

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

在为 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>

我的 login.jsp 是这样的:

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

这种格式有问题吗?

请不要介意这些脚本和我打算在其他时候修改它们的所有内容,我只需要先完成这项工作。

非常感谢。:D

4

2 回答 2

1

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

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

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

首先,您不应该在您的 jsp 页面中包含您的 javascript - 它应该在外部 .js 文件中,并且它应该是命名空间以避免冲突(我建议阅读 Doug Crockford 的 'Javascript - The Good Parts')。

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

于 2012-10-19T02:47:05.670 回答
-1

使用JSP Scriptlets @include怎么样

<%@include file="../admin/login.jsp" %>

如果您的页面是静态页面。

于 2012-10-19T03:22:55.990 回答