i eine unter Methode in Thema habe:Fetch das Sitzungsobjekt gesetzt in liferay Thema Java-Methode in Portlet doView() -Methode
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)throws IOException, ServletException {
((HttpServletRequest) request).getSession().setAttribute("test", "abc");
}
i in doView Methode der Portlet-oben-Session-Objekt zu holen versuchen.
HttpSession httpSession =PortalUtil.getHttpServletRequest(renderRequest).getSession();
System.out.println("httpSession obj"+(String)httpSession.getAttribute("test"));
Ich habe sogar versucht, wie unten verwenden:
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
i erhalten den Nullwert, wenn ich von doview Methode zu holen versuchen. Kann jemand vorschlagen, wie Sie den Wert von Thema zu Portal holen
Können Sie mich bitte in meinem Fall führen, sollte ich HttpSession verwenden httpSession = PortalUtil.getOriginalHttpServletRequest() (renderRequest) .getSession(); System.out.println ("httpSession obj" + (Zeichenfolge) httpSession.getAttribute ("Test")); –
Siehe meine bearbeitete Antwort –
das Thema sollte den Sitzungsobjektwert session.setAttribute schreiben ("test", "abc"); wie oben gezeigt. Reihenfolge der Ausführung? Diese Methode wird auf der Last des Themas ausgeführt. , Ich versuche, diesen Sitzungsobjekt Wert Test von Thema zu doview() -Methode von Portlet zu holen. –