如何从GWTP CommandHandler访问Http会话



我是GWTP的新手。我正在尝试使用GWTP +命令模式+ Spring构建应用程序。

目前我的应用程序有一个使用Spring控制器的登录页面,它将用户重定向到GWT页面。在spring控制器中,我们可以像访问HttpRequest对象一样访问session。在GWTP命令处理程序的情况下,我找不到任何方法来访问HttpSession。以下是我的命令处理程序代码-

public class GetItemsCommandHandler extends AbstractActionHandler<GetItemsCommand, GetItemsResult>{
    @Autowired
    private ItemService itemService;
    public GetItemsCommandHandler() {
        super(GetItemsCommand.class);
    }
    @Override
    public GetItemsResult execute(GetItemsCommand action, ExecutionContext context) throws ActionException {
        // How to get User info(userid) from session??
        GetItemsResult getItemsResult = new GetItemsResult();
        getItemsResult.setItems(itemService.getItemsForUser(userId));
        return getItemsResult;
    }
}

是否有任何方法我可以从GWTP命令处理程序访问HttpSession ?

谢谢@Baadshah,但我在服务器端使用Spring。顺便说一下,我得到了解决方案,我张贴如果有人面临类似的问题。

首先我们需要在web.xml

中添加以下条目
<listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

RequestContextListener是一个将请求公开给当前线程的监听器。

,然后我们可以使用@Autowired注释。

@Autowired
private HttpServletRequest httpServletRequest;

和在处理方法中,我们可以从这个httpServletRequest使用getSession方法。

相关内容

  • 没有找到相关文章

最新更新