In meinem Liferay 7 JSP, öffne ich ein Popup, das eine Anforderung an einen Liferay Portlet startet (das Portlet den Text umwandelt und sendet das Ergebnis zurück zur Anzeige innerhalb des Popup):Liferay.Util.openWindow mit einer POST-URL? (Um mehr Parameter zu ermöglichen)
<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>
Es funktioniert super ... für kurze Texte.
PROBLEM: Ich habe jetzt eine Anforderung, auch lange Texte zu behandeln. Ich kann es mir nicht mehr leisten, auf GET-Parameter wie GET parameters can not be over a few kilobytes zu vertrauen. Der Versuch, die Grenze Ergebnisse schieben in:
The server refused this request because the request URI was too long.
FRAGE: Kann ich starten eine Liferay.Util.openWindow
mit einer POST-Anfrage? Oder sonst ein Liferay-Popup mit einem langen Text öffnen? (wie 30 Kilobyte)
ActionURL sollte standardmäßig gepostet werden. Warum nicht das benutzen? –
@ChrisMaggiulli: Kann ActionURL als Popup-URL verwendet werden? –