2017-06-28 2 views
0

Ich habe eine JSP-Datei und Servlet geschrieben. In Jsp Ich habe Datenliste in einem Formular verwendet. Und ich möchte diese Benutzereingabe an das Servlet übergeben.Ich habe den Code unten gepostet .Wie man Datenist Werte von Jsp an Servlet übergeben

jsp Code

<form action="NewServlet1" method="Post" > 
<center> 
     <input type="text" name="website" list="website" placeholder="Enter your website"> 
     <datalist id="website"> 
     <option value="https://www.google.lk/">GOOGLE</option> 
     <option value="https://www.yahoo.com/">YAHOO</option> 
     <option value="https://www.hackerrank.com/">HACKER RANK</option> 

     </datalist><br><br><br> 

    </center></form> 

    <div style="width: 400px; height: 400px"> 
     <canvas id="myChart" width="1000" height="1000" ></canvas> 
    </div> 
<center> <div> 
     <button id="button1" name="button1" onclick="submit()" class="btn btn-primary">submit</button> 
    </div></center> 
    <script> 
     function Test(today, time) { 
      var ctx = new Chart(document.getElementById("myChart") 

      , { 

       type: 'line', 
       data: { 
        labels: today, 
        datasets: [{ 
          data: time, 
          label: "Web Service 1", 
          borderColor: "red", 
          fill: false 
         } 
        ] 
       }, 
       options: 
         { 
          scales: {xAxes: [{display: true, scaleLabel: {display: true, labelString: 'date and time'}}], yAxes: [{display: true, ticks: {beginAtZero: true, steps: 100, stepValue: 50, max: 6000}}]}, 

          hover: {intersect: false }, 
          title: {display: true, text: 'response time of selected website'}, 
           tooltips: { mode: 'nearest'} 

         } 
      }); 
} 
function submit() 
{ 

    $.post("NewServlet1", 
      { 

      }, 
      function (data) 
      { 

       Test(data.today, data.time); 
      }); 
} 

Servlet-Code

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

     response.setContentType("text/html;charset=UTF-8"); 

     String website = (String)request.getParameter("website"); 

Aber das ist working.Can nicht jemand mir helfen, dieses Problem zu lösen?

+0

Was erhalten Sie von 'request.getParameter (" Website ")' nach dem Absenden ?? –

+0

Ich berechne die Antwortzeit der ausgewählten Website und zeichne Graphen, indem ich diese Daten nutze und wenn ich diese Website variabel nutze und zeichne, zeigt sie ein falsches Diagramm an. Aber wenn ich "String website =" https://www.google.lk/ ";" es zeigt real graph – mahi

Antwort

1

Zunächst einmal müssen Sie das Formular an das Servlet unterbreiten, den Pfad zu NewServlet1

<form action="NewServlet1" method="Get" > 
    <center> 
      <input type="text" name="website" placeholder="Enter your website"> 
      <datalist id="website"> 
      <option value="https://www.google.lk/">GOOGLE</option> 
      <option value="https://www.yahoo.com/">YAHOO</option> 
      <option value="https://www.hackerrank.com/">HACKER RANK</option> 

      </datalist> 
    </center> 
     <% 
     String website= request.getParameter("website"); // it is not needed 
     request.setAttribute("website",website);   // it is not needed 
     %> 
    <input type="submit"/> <!--need to add submit button to submit it to the servlet--> 
</form> 

nun Ihrem Servlet-Code zugeordnet wird, ist in Ordnung, das ist:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    String website = (String)request.getParameter("website"); 
} 

Hinweis: Need schreiben ein Wert in website Textfeld

Oder wenn Sie attribute erhalten möchten, die zuvor ingespeichert wurde 10 Objekt verwenden Sie dann RequestDispatcher.

+0

das funktioniert nicht wie ich will – mahi

+0

wie kann ich wissen, was ist Ihre Anforderung? –

+0

Ich gebe Ihnen die Möglichkeit, den Wert von JSP an Servlet zu übergeben, wenn Sie etwas anderes möchten, dann geben Sie bitte –

Verwandte Themen