Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将liferay主题java方法中的会话对象集提取到portlet doView()方法中_Java_Session_Liferay_Liferay Theme - Fatal编程技术网

将liferay主题java方法中的会话对象集提取到portlet doView()方法中

将liferay主题java方法中的会话对象集提取到portlet doView()方法中,java,session,liferay,liferay-theme,Java,Session,Liferay,Liferay Theme,我在主题中有以下方法: public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)throws IOException, ServletException { ((HttpServletRequest) request).getSession().setAttribute("test", "abc"); } 我试图在portlet

我在主题中有以下方法:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)throws IOException,             ServletException {
  ((HttpServletRequest) request).getSession().setAttribute("test", "abc");
   }
我试图在portlet的doView方法中获取上述会话对象

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方法获取时,我得到了空值。任何人都可以建议如何从主题到门户获取值

您只能获得适应
ServletRequest
界面的
portletRequest
。此外,您还需要
portal.getOriginalHttpServletRequest()

关于两者之间的区别

你应该用它吗?没有

我无法想象会议需要写什么主题。执行顺序甚至可能没有定义


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

您只能获得适应
ServletRequest
界面的
portletRequest
。此外,您还需要
portal.getOriginalHttpServletRequest()

关于两者之间的区别

你应该用它吗?没有

我无法想象会议需要写什么主题。执行顺序甚至可能没有定义


你应该用什么来代替?我不知道,因为我知道您首先要实现的目标是什么

您能指导我使用HttpSession HttpSession=PortalTil.getOriginalHttpServletRequest()(renderRequest.getSession()吗;System.out.println(“httpsessionobj”+(字符串)httpSession.getAttribute(“test”);主题应该编写会话对象值session.setAttribute(“test”、“abc”);如上所示。执行命令?此方法在加载主题时执行,我正在尝试从portlet的theme到doview()方法获取会话对象值测试。我无法想象这会解决什么问题。主题不应该有太多的智能,而且感觉主题中的任何会话交互——特别是向会话写入内容——都是完全错误的。你能描述一个你想要解决的实际问题,而不是仅仅检查一个测试属性是否可以在别处读取吗?你能在我的例子中指导我应该使用HttpSession HttpSession=PortalTil.getOriginalHttpServletRequest()(renderRequest.getSession();System.out.println(“httpsessionobj”+(字符串)httpSession.getAttribute(“test”);主题应该编写会话对象值session.setAttribute(“test”、“abc”);如上所示。执行命令?此方法在加载主题时执行,我正在尝试从portlet的theme到doview()方法获取会话对象值测试。我无法想象这会解决什么问题。主题不应该有太多的智能,而且感觉主题中的任何会话交互——特别是向会话写入内容——都是完全错误的。您能描述一个您想要解决的实际问题,而不是仅仅检查测试属性是否可以在别处读取吗?