如何在Spring Boot中将数据从视图发送到控制器

时间:2019-02-28 11:16:02

标签: javascript html spring-boot spring-mvc

目标: 我们有一个查看页面-> index.html(由javascript函数组成) 我们有一个弹簧启动控制器类。

我们在网络浏览器中触发localhost:port,服务器捕获URL并通过控制器类,我们接收到该触发器并执行一个仅显示网页的函数(如上所述,index.html)。

现在,在Web浏览器中显示index.html页面之后,我们通过index.html文件中定义的按钮(使用javascript)触发了许多功能。考虑一下我们在index.html页面中有一个文本框,在其中我们生成少量文本数据。

问题: 目的是通过后端技术将上述文本框中的数据保存到数据库中。如何将文本框中的数据传递到控制器类(可能是)。

index.html:

<html>
<body>

 <script type="text/javascript">
     //definition of save()
 </script>
<button id="btnNew" onclick="new()">New</button>
<button id="btnSave" onclick="save()">Save</button>
<input style="width: 300px" type="text" id="textBox" value=""/>

</body>
</html>

控制器类:

@Controller
public class WelcomeController {

    private String input;

    @GetMapping("/")
    public String main(Model model) {
        this.input= retrieveInputParameters();
        model.addAttribute("token", this.input);
        return "index"; //view
    }
}

代码说明:

控制器类:如上所述,当前控制器类只有1个方法main,当服务器被点击时会触发该方法: http://localhost:8080

该方法检索输入参数,然后呈现index.html页面。

index.html:它由具有多个功能的多个按钮组成。单击“保存”按钮后,它将触发第三方URL并检索数据(该数据与运行它的服务器没有连接)。现在,我们希望在服务器(控制器类)中检索数据。

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

我们可以通过Ajax将数据从视图发送到控制器:

例如:

$.ajax({
                type:"POST",
                contentType : 'application/xml; charset=utf-8',
                dataType : 'json',
                url: "/xyz",
                data: document.getElementById('abc').value,
                success:function(result){

                }
            });