将表单数据传递给JSP而不传递给服务器

时间:2020-06-23 10:29:31

标签: forms spring-mvc jsp

html> 
    <head> 
        <title>Landing</title> 
        <meta charset="UTF-8"> 
        <meta name="viewport" content="width=device-width, 
                                       initial-scale=1.0"> 
    </head> 
    <body> 
       
        <form name="testForm" action="move.jsp"> 
           <label><h1>Enter the data <h1/></label><br/> 
           <input type="text" name="DATA"><br/> 
           <input type="submit"> 
        </form> 
       
        <% out.println(DATA) %>  <!-- WRONG!! -->
    </body> 
</html> 

请忽略操作部分

我正在从事Spring MVC项目,但遇到了问题。我想要的是,当用户单击提交时,我们不应该离开页面,而应该留下。但是提交的值将用作同一页面中函数的参数。在这里,我们只说我要打印它,那是输入错误的部分。

我应该怎么做才能做到这一点?请帮忙

1 个答案:

答案 0 :(得分:1)

单击提交按钮时,您可以在此处使用ajax来调用此函数,然后使用此调用,您的ajax将值从输入中传递给服务器,然后在服务器端执行您需要执行的操作然后将结果返回给ajax。

您的表格:

   <form name="testForm" action="move.jsp"> 
       <label><h1>Enter the data <h1/></label><br/> 
       <input type="text" name="DATA"><br/> 
       <input type="button" onclick="submit_values()">
                              <!--^^added this--> 
    </form> 
  <div id="result"><!--here data will come back--></div>

然后单击按钮submit_values()将被调用。即:

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script>
  <script>
    function submit_values() {
    //get input value
      var values = $("input[name='DATA']").val();
      console.log(values);
      $.ajax({
        type: 'POST',
        data: {
          values: values//passing to server
        },
        url: "Your_server_url",
        success: function(data) {
       alert(data);//this will display whatever server will return
      $("#result").html(data);//add response back to show
        }
      });
    
    }
</script>

然后在您的服务器端执行以下操作:

String data =request.getParameter("values");//get value 
 String send_back = something(data);//call your function
out.println("DATA BACK"+send_back );//this will go back to ajax