gpt4 book ai didi

java - 这种表达式语言 ${pageContext.request.contextPath} 在 JSP EL 中究竟做了什么?

转载 作者:IT老高 更新时间:2023-10-28 20:51:19 30 4
gpt4 key购买 nike

我有一个网络应用程序,其中有不同的导航 anchor 标记,例如主页、个人资料等。

我想要什么:

当我按下诸如主页或个人资料之类的 anchor 标签时。我只想确保当前用户在该标签/JSP 页面中获取其信息。

我正在尝试的示例:

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

最佳答案

pageContext 是 JSP 中可用的隐式对象。 The EL documentation

The context for the JSP page. Provides access to various objects including:
servletContext: ...
session: ...
request: ...
response: ...

因此,该表达式将获取当前的 HttpServletRequest 对象并获取 context path对于当前请求并将 /JSPAAddress.jsp 附加到它以创建一个链接(即使该资源在更改时访问的上下文路径也将起作用)。

此表达式的主要目的是使您的链接与应用程序上下文保持“相对”,并将它们与应用程序路径的更改隔离开来。


例如,如果在 http://myhost.com/myWebApp/thisJSP.jsp 访问您的 JSP(名为 thisJSP.jsp),则上下文路径将为myWebApp。因此,生成的链接 href 将是 /myWebApp/JSPAAddress.jsp

如果有一天,您决定将 JSP 部署在另一台服务器上,其上下文路径为 corpWebApp,则为链接生成的 href 将自动更改为 /corpWebApp/JSPAAddress.jsp 无需您做任何工作。

关于java - 这种表达式语言 ${pageContext.request.contextPath} 在 JSP EL 中究竟做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5850336/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com