在liferay中删除jsp portlet问题中的会话属性

时间:2014-11-08 11:35:05

标签: java jsp session liferay portlet

如果想要在目标portlet上清除sessionAttribute但是它没有工作,那么在通过会话将数据传递到另一个portlet之后。

在目标portlet中,我获取了session属性并清除它,但刷新了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>

1 个答案:

答案 0 :(得分:1)

重载方法使用PORTLET_SCOPE搜索对象,但您需要指定范围APPLICATION_SCOPE

ps.removeAttribute("sessionValue", PortletSession.APPLICATION_SCOPE);