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ファイルに含める必要があり、競合を避けるために名前の間隔を空ける必要があります(DougCrockfordの「Javascript-TheGoodParts」を読むことをお勧めします)。

次に、ページを作成するためのはるかに優れた方法があります。たとえば、ApacheTilesプロジェクトを見てください。

于 2012-10-19T02:47:05.670 に答える
-1

@include のようなJSP Scriptletsを使用するのはどうですか

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

ページが静的ページの場合。

于 2012-10-19T03:22:55.990 に答える