在我的 Liferay 7 JSP 中,我打开一个弹出窗口,该弹出窗口向 Liferay portlet 发起请求(该 portlet 转换文本并将结果发送回以在弹出窗口中显示):
<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 参数不能超过几千字节。试图突破极限会导致:
The server refused this request because the request URI was too long.
问题:我可以Liferay.Util.openWindow
使用 POST 请求启动一个吗?或者以其他方式打开一个带有长文本的 Liferay 弹出窗口?(如 30 KB)