2009-04-30 4 views
0

Ich habe ein JS-Objekt in einer JavaScript-Datei. Ich muss dieses Objekt an eine JSP-Seite übergeben. Die Seite nimmt dieses Objekt auf und verarbeitet es. Wie kann ich es tun?JS-Objekt an JSP-Seite senden

Antwort

0

Auf die gleiche Weise erhalten Sie andere Daten von einem Webbrowser zu einem HTTP-Server.

Encode es in einer HTTP-Anforderung durch ein Formular abgeschickt/Einstellen der Fensterposition/mit XMLHttpRequest/usw.

0

Es gibt ein paar Dinge, die Sie zuerst lösen müssen, sind Sie diesen Stil in einem AJAX-Tun anfordern? Ist das eine Formulareinreichung? Wird es in der Seitensitzung zwischen dem Client/Server, der JSON-Objekte hin- und hergibt, eine laufende Interaktion geben?

Lassen Sie uns den einfachen Fall einer Formularübermittlung angehen, sobald Sie bekommen, dass Sie in der Lage sein sollten, die verbleibenden Fälle zu bekommen, da sie nur "Erweiterungen" dieses Basisfalls sind. Sagen Sie irgendeine Form haben, die die Daten in einem Feld einreichen:

<form name='my_form' id='my_ford_id'> 
    <input type='hidden' name='my_input_field' /> 
</form> 

dann irgendwann in der Zeit Sie ein Stück Code haben, und Sie haben Objekt JSON

function myFunction() { 
    var json_data = getJsonData(); 
    document.forms['my_form']['my_input_field'].value = json_data; 
    document.forms['my_form'].submit(); 
} 

Sie führt werden dann auf der JSP-Seite erhalten Sie diese Daten als JSON-String in einem Formularfeld, an dem Sie es verarbeiten müssen, nehmen wir an, Sie haben eine Art von JSON-Bibliothek zur Verfügung, der Code könnte etwa so aussehen:

<% 
    String myInputField = request.getParameter("my_input_field"); 
    if(myInputField != null) { 
    try { 
     JSONObject myObject = new JSONObject(myInputField); 
    } 
    catch(JSONException e) { 

    } 
    } 
%> 

Wenn Sie einen "AJAX" -Stil der Interaktion benötigen, werden Sie eine Reihe solcher Anfragen auf der Seite machen, aber im Grunde greift es auf das ursprüngliche Problem der Übermittlung der Daten zurück. Da Sie in diesem Beispiel Formulare und JSP verwenden, müssen Sie sich zu keinem Zeitpunkt Gedanken über die Kodierung machen, der Browser/Server wird sich um Sie kümmern.

+0

wo können wir JSONObject..ist es ein 3rd Party API –

+0

http://json-lib.sourceforge.net/ – cjstehno

+0

Die richtige Quelle ist wahrscheinlich hier: http://json.org/java/ – mellamokb

-2

"JSON" Die Site hilft Ihnen, JSON-Objekte in JSp/Java zu verwalten. Sie müssen die Zeichenfolge von Javascript in ein Json-Objekt konvertieren. Dann verwalten Sie es einfach.

0

Wenn Sie json das Servlet-Objekt senden erhalten sie in der gleichen Art und Weise der durch Absenden des Formulars gesendeten Daten empfangen, zum Beispiel, wenn Sie eine Variable „Aktion“ mit dem Wert = „getCountries“ senden

var option={ 
     "action":"getCountries" 
    }; 
$.getJSON('YourServlet',option, function() { 
    //hadle the result returned by servlet 
}); 

die defualt Methode ist GET, im Servlet Sie die Anforderung behandeln, wie Sie eine normale Anfrage

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    String action = request.getParameter("action"); 
    if (action != null) { 
     if (action.equals("getCountries")) { 

        List coutries= getAllICountries(request); //get the countries 
        String json = new Gson().toJson(coutries); 
        response.setContentType("application/json"); 
        response.setCharacterEncoding("utf-8"); 

        response.getWriter().write(json); 
        return; 
      } 
    } 

Hinweis behandeln, wie wir das Ergebnis von Servlet Javascript zurückkehren, kehren wir ein jSON-Objekt.