Удаление атрибута сеанса в проблеме с портлетом jsp в liferay

После передачи данных в другой портлет через сеанс, если вы хотите очистить этот sessionAttribute в целевом портлете, но это не работает.

В портлете назначения я получаю атрибут сеанса и очищаю его, но после обновления страницы JSP. Атрибут сеанса все еще существует. Должно быть null. Как я могу избавиться от этого, поскольку следующий код не работает.

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@page import="javax.portlet.PortletSession" %>
<portlet:defineObjects />

This is the <b>NewPPIPC</b> portlet in View mode.

<%

PortletSession ps = renderRequest.getPortletSession();
String qString = (String)ps.getAttribute("sessionValue",PortletSession.APPLICATION_SCOPE);
ps.removeAttribute("sessionValue");

%>

<h1><%=qString %></h1>

person Nwawel A Iroume    schedule 08.11.2014    source источник


Ответы (1)


Перегруженный метод использует PORTLET_SCOPE для поиска объекта, но вам нужно указать область действия APPLICATION_SCOPE.

ps.removeAttribute("sessionValue", PortletSession.APPLICATION_SCOPE);
person Roman C    schedule 08.11.2014