如何在Spring-boot中向控制器发送一个单元的id
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Spring-boot中向控制器发送一个单元的id相关的知识,希望对你有一定的参考价值。
当我点击单元格时,将表格的单元格的id发送给控制器的最佳方法是什么?我尝试使用Ajax,但它给了我403 post error
,我无法解决它。当我点击一个单元格时,content()函数被激活,但我不知道如何将这个单元格的id发送给控制器,我的目标是将id发送到控制器然后在数据库(mysql)中更改状态true
的特殊元素并回到jsp。
这是我的模特
@Entity
public class Room {
private int id;
private String hour1;
private boolean hour1confirm;
private String hour2;
private boolean hour2confirm;
private String hour3;
private boolean hour3confirm;
private String hour4;
private boolean hour4confirm;
private String hour5;
private boolean hour5confirm;
private String day;
这是我的jsp
<body>
<div class="container" align="center">
<table class="table table-bordered" >
<thead>
<tr>
<th>\Days \Hours</th> <th>8 - 10</th>
<th >10 - 12</th> <th >12 - 14</th>
<th >14 - 16</th> <th >16 - 18</th>
</tr>
</thead>
<tbody>
<c:forEach items= "${rooms2}" var="m" >
<tr>
<td style="background-color:OldLace">${m.day }</td>
<c:choose>
<c:when test="${m.hour1confirm==false}">
<td style="background-color:green" id="${m.hour1}" onclick="content1(this)" >${m.hour1 }</td>
</c:when>
<c:otherwise> <td style="background-color:red"> Reserved</td> </c:otherwise>
</c:choose>
<c:choose>
<c:when test="${m.hour2confirm==false}">
<td style="background-color:green" id="${m.hour2 }" onclick="content1(this)">${m.hour2 } </td>
</c:when>
<c:otherwise> <td style="background-color:red"> Reserved</td> </c:otherwise>
</c:choose>
<c:choose>
<c:when test="${m.hour3confirm==false}">
<td style="background-color:green" id="${m.hour3 }" onclick="content1(this)">${m.hour3 } </td>
</c:when>
<c:otherwise> <td style="background-color:red"> Reserved</td> </c:otherwise>
</c:choose>
<c:choose>
<c:when test="${m.hour4confirm==false}">
<td style="background-color:green" id="${m.hour4 }" onclick="content1(this)">${m.hour4 } </td>
</c:when>
<c:otherwise> <td style="background-color:red"> Reserved</td> </c:otherwise>
</c:choose>
<c:choose>
<c:when test="${m.hour5confirm==false}">
<td style="background-color:green" id="${m.hour5 }" onclick="content1(this)">${m.hour5 } </td>
</c:when>
<c:otherwise> <td style="background-color:red"> Reserved</td> </c:otherwise>
</c:choose>
</tr>
</c:forEach>
</tbody>
</table>
<br>
</div>
<br>
</body>
<script >
var idt;
function content1(elem)
{
$(function() {
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
$(document).ajaxSend(function(e, xhr, options) {
if (options.type == "POST") {
xhr.setRequestHeader(header, token);
}
});
});
idt=elem.id;
$.ajax({
url:"/reservation2",
type: 'POST',
data: idt,
dataType: "text",
contentType: "text/plain",
// mimeType: false,
success: function(response){
console.log(data);
return false;
}
});
}
答案
我找到了答案,所以我在这里分享。我可以使用Get而不是Post,在我使用的jsp中
$.ajax
({ method : 'GET',
url : 'reservationTest?room_id='+id})
在控制器中:
@RequestMapping(value = "/reservationTest", method = RequestMethod.GET)
public void reservationAjax(HttpServletRequest req)
{
//String id = req.getParameter("room_id");
String id = req.getParameter("room_id");
.
.
.
以上是关于如何在Spring-boot中向控制器发送一个单元的id的主要内容,如果未能解决你的问题,请参考以下文章
单元测试时如何在 Angular 1.5 中向 $componentController 添加依赖项
如何在 Spring-boot 中不模拟服务类的情况下为 REST 控制器端点编写单元测试
如何在 jQuery $.ajax() 发布请求中向 MVC 控制器方法发送模型
如何在 iOS 中向 UIView 添加第二个 UITabBar(控制器?)