Oracle
 sql >> Database >  >> RDS >> Oracle

Leggi i dati POST dall'app Oracle Forms

Effettivamente come @Christian13467 menzionato, per Oracle Forms è molto indifferente il modo in cui sono state inviate le variabili HTTP, ovvero utilizzando i metodi POST o GET.

La mia soluzione era creare una stringa contenente tutte le mie var concatenate come in otherparams format, quindi invialo tramite il metodo POST. Poiché il mio primo modulo era contenuto in un'altra app Oracle Forms, ho modificato un file modello chiamato basejpi.htm , per aggiungere una sezione javascript di intestazione con questo codice:

function sendPostVars(path,params) {
  var method = "post"; 

  var form = document.createElement("form");
  form.setAttribute("method", "post");
  form.setAttribute("action", path);

  var hiddenField = document.createElement("input");
  hiddenField.setAttribute("type", "hidden");
  hiddenField.setAttribute("name", "otherparams");
  hiddenField.setAttribute("value", params);

  form.appendChild(hiddenField);

  document.body.appendChild(form);
  form.submit();
}

Quindi dalla mia prima app Forms ho chiamato questo metodo tramite la funzione di integrazione javascript 11g in questo modo:

web.javascript_eval_expr(sendPostVars('http://host2:port/forms/frmservlet','name1=param1+name2=param2'))

Alla fine ho letto i miei parametri nella mia seconda app Oracle Forms.