从Spark数据库中删除用户和MySQL中的Thymeleaf
问题描述:
我用MySQL数据库设置了Spark框架和thymeleaf。我无法将要删除的用户的ID传递到我的应用程序的后端。从Spark数据库中删除用户和MySQL中的Thymeleaf
后端
get("/delete", (rq, rs) -> {
map.put("lista", studentService.getAllStudents());
return thymeleafTemplateEngine.render(new ModelAndView(map,"delete"));});
delete("/delete:id", (rq, rs) -> {
studentService.deleteStudent(rq.params(":id"));
return "Korisnik uspesno izbrisan iz baze.";
});
服务
public void deleteStudent(String id){
sql = "DELETE FROM student WHERE student_id="+id;
con = ConnectionManager.getConnection();
try{
stmt = con.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException e){
e.printStackTrace();
}
}
前端
<form th:method="delete">
<input th:name="id" type="text" placeholder="Id korisnika">
<button type="submit">Submit</button>
</form>
这是会从thymeleaf模板http://localhost:4567/delete?id=15传递的URL,我希望它火花框架注册删除方法,有什么办法可以完成这个?
答
后端
delete("/delete/deleteStudent", (rq, rs) -> {
studentService.deleteStudent(rq.queryParams("id"));
map.put("lista", studentService.getAllStudents());
return thymeleafTemplateEngine.render(new ModelAndView(map, "delete"));
});
服务
public void deleteStudent(String id){
System.out.println("Delete Called");
sql = "DELETE FROM student WHERE student_id="+id;
con = ConnectionManager.getConnection();
try{
stmt = con.createStatement();
stmt.executeUpdate(sql);
} catch (SQLException e){
e.printStackTrace();
}
}
前端
<form th:method="delete" th:action="@{delete/deleteStudent}">
<input type="number" th:name="id">
<button type="submit">Delete user</button>
</form>
的问题是,我不知道,如果你想在你的浏览器的删除请求你需要一个XMLHttpRequest,所以当我为Firefox安装RESTClient插件并发送删除请求到我的服务器ver,一切正常。