0

我在 GWT RPC Servlet 中有一个登录方法,它从会话上下文中获取用户,因此确定用户是否登录。我想将此方法移植到请求工厂方法(以获取代理实体而不是 DTO)。

但是我可以把它放在哪里?我不能将它放在实体中,因为我没有会话上下文。这里的正确方法是什么?

我的 RPC 方法目前如下所示:

@Override
public UserDTO isLoggedIn() {
    // TODO Auto-generated method stub

    HttpSession session = getThreadLocalRequest().getSession();

    String userName = (String)session.getAttribute("userName");

    if(userName !=null){
        return new UserDTO(userName);
    }
    return null;
}
4

1 回答 1

2

RequestFactory 还提供了访问请求和 servlet 上下文的方法

HttpSession session = com.google.web.bindery.requestfactory.server.RequestFactoryServlet.getThreadLocalRequest().getSession();

文档可以在这里找到:

http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/web/bindery/requestfactory/server/RequestFactoryServlet.html#getThreadLocalRequest()

于 2013-06-02T23:15:25.913 回答