2017-05-02 2 views
0

ich irgendwelche Tutorials abdeckt mein genauen Problems zu finden war nicht in der Lage, damit ich meine Frage hier bin EntsendungJSON-Daten Verwenden von Parametern innerhalb Servlet zu setzen

Ich habe eine poll.json Datei

{ 
    "poll": { 
     "title": "About your preferences", 
     "questions": [ 
      "Which color do you like best?", 
      "What is your lucky number?", 
      "Why?" 
     ] 
    } 
} 

ich greifen will der „Titel“ Inhalt aus der Tabelle als Wert innerhalb h1-Tages innerhalb des Körpers als so und setzen:

out.println("<h1>Servlet NewServlet at " + title + "</h1>"); 

Hier mein Versuch ist. Ich kenne die meisten wahrscheinlich ist mir weg, aber ich weiß nicht einmal, wo mit diesem Problem

hier zu starten ist PollServlet.java:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     response.setContentType("text/html;charset=UTF-8"); 
     try (PrintWriter out = response.getWriter()) { 
      /* TODO output your page here. You may use following sample code. */ 
      out.println("<!DOCTYPE html>"); 
      out.println("<html>"); 
      out.println("<head>"); 
      out.println("<title></title>");    
      out.println("</head>"); 
      out.println("<body>"); 
      out.println("<h1>" + title here + "</h1>"); 
      out.println("</body>"); 
      out.println("</html>"); 
     } 
    } 

    @Override 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
     processRequest(request, response); 
     getClass().getResourceAsStream("poll.json"); 
      String jsonString = "" ; 
      JsonReader reader = Json.createReader(new StringReader(jsonString)); 
      JsonObject jsonObject = reader.readObject(); 
      String title = jsonObject.getJsonArray("poll").getJsonObject(1).toString(); 

    } 
+0

Anstatt Titel zu drucken, kann ich im Code sehen, dass Sie Anfrage drucken? –

+0

Haben Sie debugged, um zu sehen, was sich in 'jsonObject' befindet? –

+0

@henriqueromao Nein, ehrlich gesagt weiß ich nicht einmal, ob ich den Code innerhalb der doGet() Methode einfügen soll –

Antwort

-1

Um das JSON-Objekt aus der Anforderung liest ich tun:

StringBuffer jb = new StringBuffer(); 
String line = null; 
AjaxActionRequestMessage actionReqMessage= null; 
     try { 
      BufferedReader reader = request.getReader(); 

      while ((line = reader.readLine()) != null){ 
       jb.append(line); 
      } 
      actionReqMessage = new Gson().fromJson(jb.toString(), AjaxActionRequestMessage.class); 
     } catch (Exception e){ 
       e.printStackTrace(); 
     } 

AjaxActionRequestMessage ist eine Klasse, die den JSON widerspiegelt, den Sie empfangen, der mit gson instanziiert werden kann.

+0

danke für die Antwort. Könnten Sie Ihre Antwort in meinem Code implementieren, da ich nicht einmal sicher bin, wo dieser Code eingefügt werden soll? –

+0

Wenn Sie den Json mit POST senden, geht es in doPost(), sonst in doGET(); – Juan

+0

und wo geben Sie den Pfad zu der Datei –

Verwandte Themen