重置Portlet Action-scoped Request属性

来源:互联网 发布:收音机mac版 编辑:程序博客网 时间:2024/06/05 08:49

JSR 286定义了一个Portal容器运行时刻选项javax.portlet.actionScopedRequestAttributes, 设置该选项后, 在PortletprocessAction方法中设置的request属性可以在后续的render方法中使用。

JSR 286同时规定,上述的action-scoped request属性需要保存在用户session中, 直至被重置或超时。 有几种方法可以重置Action-scoped Request属性:

1) 在portlet processAction方法中, 调用request.setAttribute(attributeName, null);, 这可以将给定名称的属性从session中除去。

2) 构造一个如下的portlet renderURL, 设置一个名为javax.portlet.as的空值参数, 该renderURL的触发后清除所有的action-scoped request属性。

<portlet:renderURL var="refreshURL">  <portlet:param name="javax.portlet.as" value="" /></portlet:renderURL>