私はJavascriptツリーコントロールを持つJSPを持っています。ボタンを押すだけでこのツリーを非表示にすることができます。つまり、ページAの場合はユーザーがツリーを非表示にし、ページBの場合は、ユーザーがツリーを表示することを決定するまでツリーを非表示のままにしておく必要があります。JSPサーブレットとAjaxの問題
これを行うには、AJAXを使用して、ページがロードされたときにチェックされるサーバー上のセッション変数を設定しています。問題のページにURLにクエリ文字列がない場合、これはうまく動作します。
しかし、のようなURLのページで:
私は表示/非表示ボタンを起動する場合、クエリ文字列が失われているので、私はJavaのNumberFormatExceptionがエラーを取得します。しかし、この後に手動でページをリロードすると、ツリーが更新されたページが表示されます。
ツリーのHTMLはサーバー上に構築され、各ページのHTML divに表示されます。
私の理解では、AJAXはページの一部のみを更新することを意図しており、この方法でページを書き込んでdivの内容を更新できるようにしています。しかし、私はなぜクエリ文字列が失われているのか分からない。
AJAXがフルページのリロードを強制しようとしているのだろうか?
AJAX呼び出しがサーブレットに正しく到達していることがわかります。しかし、サーブレットは別のページを呼び出すように設定されていません。
誰もこれまでに見たことがありますか?あなたは回避策を知っていますか?