j'ai une méthode ci-dessous dans le thème:Fetch l'objet de session défini dans le thème de Liferay méthode Java dans la méthode portlet doView()
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)throws IOException, ServletException {
((HttpServletRequest) request).getSession().setAttribute("test", "abc");
}
je suis en train de chercher ci-dessus objet de session dans la méthode doView de portlet.
HttpSession httpSession =PortalUtil.getHttpServletRequest(renderRequest).getSession();
System.out.println("httpSession obj"+(String)httpSession.getAttribute("test"));
j'ai même essayé d'utiliser comme ci-dessous:
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 obtenir la valeur NULL lorsque je tente d'extraire de méthode doView. Quelqu'un peut-il suggérer comment récupérer la valeur du thème au portail
Pouvez-vous me guider dans mon cas si je devais utiliser httpSession = PortalUtil.getOriginalHttpServletRequest() (renderRequest) .getSession(); System.out.println ("httpSession obj" + (Chaîne) httpSession.getAttribute ("test")); –
Voir ma réponse éditée –
le thème doit écrire la valeur de l'objet de session session.setAttribute ("test", "abc"); Comme montré ci-dessus. ordre d'exécution? cette méthode est exécutée sur la charge du thème. , j'essaye d'aller chercher ce test de valeur d'objet de session du thème à la méthode doview() du portlet. –