我有两个portlet: 1. Blog Portlet。 2.作者Portlet。
In Blog Portlet
EX code: view.jsp
<portlet:renderURL var="viewEntryURL">
<portlet:param name="struts_action" value="/blogs/view_entry" />
<portlet:param name="redirect" value="<%= currentURL %>" />
<portlet:param name="urlTitle" value="<%= entry.getUrlTitle() %>" />
</portlet:renderURL>
<a href="${viewEntryURL}">Send Data</a>
现在,如何在发送数据后从公共渲染参数中删除“ urlTitle”。
请提供反馈。 -预先感谢
答案 0 :(得分:0)
您可以考虑以下几点:
LiferayPortletURL(为portlet呈现,操作和资源URL标签建模的类)提供了一种名为setCopyCurrentRenderParameters
的方法
设置为false时,避免复制渲染参数,并且从中“清除” URL。
需要注意的是,您需要在后端创建LiferayPortletURL并执行以下操作:
LiferayPortletURL renderUrl = PortletURLFactoryUtil.create(
httpServletRequest,
themeDisplay.getPortletDisplay().getId(),
themeDisplay.getPlid(),
PortletRequest.RENDER_PHASE);
renderUrl.setCopyCurrentRenderParameters(false);
,然后将其作为属性传递给您的JSP设置(也许是renderRequest.setAttribute(“ renderUrl”,renderUrl)?)。对于渲染URL,我还没有做到这一点,但是对于资源URL,它确实有效!
答案 1 :(得分:0)
您需要设置
javax.portlet.init-param.copy-request-parameters=false
在您的portlet类中。