gpt4 book ai didi

java - 将liferay主题java方法中设置的 session 对象获取到portlet doView()方法中

转载 作者:太空宇宙 更新时间:2023-11-04 12:42:00 24 4
gpt4 key购买 nike

我在主题中有以下方法:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)throws IOException,             ServletException {
((HttpServletRequest) request).getSession().setAttribute("test", "abc");
}

我正在尝试在 portlet 的 doView 方法中获取上面的 session 对象。

HttpSession httpSession =PortalUtil.getHttpServletRequest(renderRequest).getSession();
System.out.println("httpSession obj"+(String)httpSession.getAttribute("test"));

我什至尝试使用如下:

HttpServletRequest request1 =PortalUtil.getHttpServletRequest(renderRequest);
HttpServletRequest originalRequest = PortalUtil.getOriginalServletRequest(request1);
HttpSession httpsession = originalRequest.getSession();
System.out.println("httpSession ==> " + httpsession);//session object gets printed
System.out.println("test "+httpsession.getAttribute("test"));//null

当我尝试从 doview 方法获取时,我得到空值。任何人都可以建议如何从主题获取值(value)到门户

最佳答案

您只能获得适合ServletRequest 接口(interface)的portletRequest。此外,您还需要PortalUtil.getOriginalHttpServletRequest()

Here's some more information关于两者的区别。

你应该使用它吗?没有。

我无法想象主题需要向 session 写入什么内容。并且执行顺序甚至可能没有定义。

你应该用什么来代替?我不知道,因为我不知道你首先想要实现什么

关于java - 将liferay主题java方法中设置的 session 对象获取到portlet doView()方法中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36749221/

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