2015-03-28 12 views
14

Sono abbastanza nuovo con tutte queste cose ma spero che voi ragazzi potete aiutarmi a capire come funziona. Ho ottenuto un modulo con campo. Come posso recuperare i dati dal client? Stavo cercando alcune informazioni ma non ho potuto trovare.Come ottenere dati dal modulo con spark java?

<form action="Dispatcher" method="post"> 
    <fieldset> 
     <p>Name</p> 
     <input type="text" name="userName" required="true"> 

     <p>Email</p> 
     <input type="text" name="userEmail" required="true"> 
     <input type="submit" value="submit"> 
    </fieldset> 
</form> 
+0

Qualcuna delle risposte ha funzionato per te? –

risposta

3

penso che è necessario utilizzare request.params("userName") che vi darà la lista dei parametri presentati con il nome userName

13

Ho affrontato lo stesso problema. Ho usato queryParams per risolverlo:

request.queryParams("userName") 
+10

Nota che devi assicurarti che 'request.body()' non sia invocato in anticipo (per scopi di registrazione per esempio), altrimenti consuma il corpo, il param del modulo non verrà analizzato. La javadoc è piuttosto carente in materia. – Brice

+0

Questo è strano. Mi aspettavo request.params ("userName") per restituire il valore, ma invece request.queryParams ("userName") fornisce lo stesso valore. Pensavo che queryParams avrebbe dovuto restituire stringhe di query. Questo normale comportamento della scintilla java? – Raf

+2

@Raf ** Questo normale comportamento della scintilla java? ** Lo chiami: questo è un * strano * comportamento di java spark. – Stephan

-1

Penso che è meglio utilizzare un framework js come AngularJS o JQuery per convertire i dati del modulo in JSON prima di inviarlo al server.

3

Solo per la cronaca, ho affrontato un problema simile e questo come ho risolto.

Poiché si tratta di una richiesta più parti, si dovrà specificare che

MultipartConfigElement multipartConfigElement = new MultipartConfigElement(path); 

req.raw().setAttribute("org.eclipse.jetty.multipartConfig", multipartConfigElement); 

È possibile trovare i dettagli qui SparkJava: Upload file did't work in Spark java framework

Una volta che questo è fatto correttamente si dovrebbe essere in grado di access the data using query params come detto Stephan.