Domanda

Il nostro modulo JBoss pubblica i parametri nell'URL anziché nella richiesta nonostante sia un modulo POST. Ho confermato che il modulo è pubblicato nella pagina effettiva utilizzando Firebug. Si noti che questo è all'interno di un portlet.

Stiamo inviando il modulo usando javascript come:

function submitForm(action, time)
{
    document.getElementById("pageActionInputID").value = time;
    document.getElementById("timeSpanFormInputID").value = action;
    document.getElementById("formID").submit();
}



<form action="<portlet:actionURL></portlet:actionURL>" method="POST" id="formID">
<input type="hidden" name="pageAction" id="pageActionInputID" />
<input type="hidden" name="timeSpan" id="timeSpanFormInputID" />
</form>

da dove proviene 'portlet

<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>

Qualche idea sul perché stiamo ottenendo gli input nell'URL?

Ecco come appare il markup risultante:

<form id="formID" method="post" action="/portal/auth/portal/myTab?action=1">
<input id="pageActionInputID" type="hidden" name="pageAction"/>
<input id="timeSpanFormInputID" type="hidden" name="timeSpan"/>
</form>
È stato utile?

Soluzione

Anche se sarebbe bello se qualcuno potesse confermarlo. Penso che il portlet JBoss elimini post / get e usi invece gli URL di azione.

Un articolo descrittivo su URL di rendering e azione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top