1. ホーム
  2. java

[解決済み】JSP ELでこの式言語${pageContext.request.contextPath}は具体的に何をするのでしょうか?

2022-02-17 02:08:45

質問

ウェブアプリで、ホーム、プロフィールなど、異なるナビゲーションのアンカータグを持っています。

欲しいもの

ホームやプロフィールなどのアンカータグを押したとき。私はちょうど現在のユーザーがそのタグ/ JSPのページでその情報を取得することを確認したいです。

私が試しているサンプル例

<a  href="${pageContext.request.contextPath}/JSPAddress.jsp">Profile</a>

解決するには?

その {コード は、JSPで利用可能な暗黙のオブジェクトです。 ELのドキュメント は言う。

JSPページのコンテキストです。以下のような様々なオブジェクトへのアクセスを提供します。
servletContext: ...
セッション: ...
request: ...
レスポンス ...

したがって、この式は、現在の pageContext オブジェクトを取得し コンテキストパス を追加します。 HttpServletRequest を追加して、リンクを作成します(このリソースにアクセスするコンテキストパスが変更されても機能します)。

この式の主な目的は、アプリケーションのコンテキストに対して「相対的」なリンクを維持し、アプリケーションのパスの変更からリンクを保護することでしょう。


例えば、JSP(名前 /JSPAddress.jspでアクセスされます。 thisJSP.jsp

http://myhost.com/myWebApp/thisJSP.jsp