pageContext.request 类型
Type of pageContext.request
我发现 this 回答非常有用,但我不明白为什么它有效。
根据 API pageContext getRequest() 方法 returns ServletRequest 并且它不包含 getUserPrincipal() 方法。那么为什么要做这样的事情
<c:if test="${not empty pageContext.request.userPrincipal}">
<c:if test="${pageContext.request.isUserInRole('ADMIN')}">
User ${pageContext.request.userPrincipal.name} in ADMIN Group
</c:if>
</c:if>
是隐式类型转换还是什么?
Servlet API 很久以前就被设计出来,以便在不同于 Web 的上下文中可用,HTTP 上下文(我认为支持 WAP 使用这个 API 是一个目标,当时)。
实际上,除了使用 servlet API 的传统 Java EE webapp 上下文之外,我不知道任何其他上下文。在这种情况下,所有请求都是 HttpServletRequest 的实例(它是 ServletRequest 的子接口)。还有 this method exists in HttpServletRequest.
我发现 this 回答非常有用,但我不明白为什么它有效。
根据 API pageContext getRequest() 方法 returns ServletRequest 并且它不包含 getUserPrincipal() 方法。那么为什么要做这样的事情
<c:if test="${not empty pageContext.request.userPrincipal}">
<c:if test="${pageContext.request.isUserInRole('ADMIN')}">
User ${pageContext.request.userPrincipal.name} in ADMIN Group
</c:if>
</c:if>
是隐式类型转换还是什么?
Servlet API 很久以前就被设计出来,以便在不同于 Web 的上下文中可用,HTTP 上下文(我认为支持 WAP 使用这个 API 是一个目标,当时)。
实际上,除了使用 servlet API 的传统 Java EE webapp 上下文之外,我不知道任何其他上下文。在这种情况下,所有请求都是 HttpServletRequest 的实例(它是 ServletRequest 的子接口)。还有 this method exists in HttpServletRequest.