gpt4 book ai didi

java - 如何在速度工具中获取 HttpServletRequest?

转载 作者:行者123 更新时间:2023-11-28 22:52:27 27 4
gpt4 key购买 nike

我想实现一个速度工具,它提供了一种方法来查明用户是否登录。我正在使用 VelocityLayoutServlet 以便在每个请求上呈现模板。

我的 velocity-tools.xml 看起来像这样:

<tools>
<toolbox scope="request">
<tool key="user" class="UserTool"/>
</toolbox>
</tools>

我的工具类:

public class UserTool{

// How do I get this object?
private HttpServletRequest request;

public boolean isLoggedIn(){
return !request.getUserPrincipal().getName().isEmpty();
}

}

如何在我的工具中获取 HttpServletRequest 对象?

仅供引用:我正在使用容器管理的身份验证。

最佳答案

这有两个缺陷:

  1. 如果请求是匿名的,您将收到 NullPointerException
  2. 您的工具是多余的,因为 Velocity 捆绑的 Servlet 应该已将请求添加到上下文中:$request.remoteUser

范围 request 不表示 HTTP 请求。它只是简单地说,这个工具会根据每个渲染请求重新创建。

关于java - 如何在速度工具中获取 HttpServletRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36083516/

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