以我的Liferay 7 JSP,我打开启动到Liferay的门户的请求(该portlet变换文本并且将结果发送回用于显示的弹出内部)弹出:带有POST URL的Liferay.Util.openWindow? (为了允许更长的参数)
<liferay-portlet:renderURL
portletName="<%= portletId %>"
var="uri"
windowState="<%=LiferayWindowState.POP_UP.toString()%>">
<portlet:param name="text" value="TEXTPLACEHOLDER" />
</liferay-portlet:renderURL>
<aui:script>
function transformTextAndShowPopup() {
var uri = "<%= uri %>";
uri = uri.replace("TEXTPLACEHOLDER", readTextEnteredByUser());
javascript:Liferay.Util.openWindow({
dialog:{
width: 700,
height: 300,
resizable: true,
modal:false,
destroyOnClose: true
},
id: "My popup",
title: "My popup",
uri: uri
});
</aui:script>
对于短文本来说,它很好用。
问题:我现在也有处理长文本的要求。我不能再依赖GET参数了,如GET parameters can not be over a few kilobytes。试图推动在极限结果:
The server refused this request because the request URI was too long.
问:我可以启动一个POST请求Liferay.Util.openWindow
?或者以其他方式打开长文本的Liferay弹出窗口? (如30千字节)
ActionURL应默认发布。为什么不使用它? –
@ChrisMaggiulli:可以将ActionURL用作弹出URL吗? –