如何在不使用表单标签的情况下将文本字段值从Jsp页面传递到Spring Controller

时间:2019-04-16 04:49:51

标签: java spring jsp

我有3个字段,例如Name, Age, Address,它有一个来自数据库的默认值,现在我想使用编辑按钮来编辑或更新每个字段值,所以我想从jsp传递字段编辑值弹簧控制器。

<input type="text" value="${map.Fname}" id="nameEdit" disabled>
<input type="button" class="btn btn-outline-default float-right btn-sm" value="Edit" onclick="nameEdit()">
<input type="submit" value=submit>

这里有两个按钮,edit用于编辑默认值,另一个Submit按钮用于提交在文本字段中输入的值。

1 个答案:

答案 0 :(得分:0)

如果您不想使用Form,则可以使用jQueryJavaScript的POST调用

假设您的Rest Controller像这样

@PostMapping("/save")
public void saveDetail(@RequestBody UserDetail data){

}

由于您不想使用表格,因此可以将提交类型替换为这样的按钮

<input type="button" value="submit" id="btnSubmit">

使用jQuery的POST呼叫

var data = {
   "fname" : "Test",
   "lname" : "Test",
}

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: "application/json"
});

使用JavaScript

var xhr = new XMLHttpRequest();
var url = "url";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4 && xhr.status === 200) {
        var json = JSON.parse(xhr.responseText);
        console.log(json.email + ", " + json.password);
    }
};
var data = JSON.stringify(data );
xhr.send(data);