13

How do I get the URL fragment identifier from HttpServletRequest?

The javadocs doesn't seem to mention it.

4

2 に答える 2

20

希望する方法で URL フラグメントを取得することはできません。

通常、ブラウザはフラグメントをサーバーに送信しません。これは、tcpdump、 EtherealWiresharkCharlesなどのネットワーク プロトコル アナライザーを使用して確認できます。

ただし、フラグメント文字列を JavaScript リクエストの GET/POST パラメータとして送信できます。JavaScript を使用して値を取得するには、 を使用しますwindow.location.hash。その後、この値を AJAX リクエストで GET または POST パラメータとして渡し、AJAX リクエストの HttpServletRequest で getParameter メソッドを使用できます。

RFC3986: Uniform Resource Identifier (URI): Generic Syntaxの内容は次のとおりです。

フラグメント識別子は、逆参照の前に残りの URI から分離されるため、URI スキームに関係なく、フラグメント自体内の識別情報は、ユーザー エージェントによってのみ逆参照されます。この個別の処理は、特にリソースが時間の経過とともに移動するときに参照を正確にリダイレクトするために、情報の損失と見なされることがよくありますが、情報提供者が参照作成者がリソース内の情報を選択的に参照する権利を拒否するのを防ぐのにも役立ちます。また、間接参照は、URI を使用するシステムに追加の柔軟性と拡張性を提供します。新しいメディア タイプは、新しい識別スキームよりも定義と展開が容易だからです。

于 2012-11-21T22:41:36.330 に答える
0

次のリンクを見てください: https://www.rfc-editor.org/rfc/rfc2396

于 2012-11-21T22:42:51.970 に答える