2017-11-25 5 views
0

私はsparkフレームワークとthymeleafをMySQLデータベースで設定しました。私は、削除するユーザーのIDを自分のアプリケーションのバックエンドに渡すのに問題があります。Spark FrameworkとThymeleaf with MySQLのデータベースからのユーザの削除

バックエンド

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です、と私はそれがスパークフレームワークによって登録されるようにしたいです私はこれを達成することができるいくつかの方法はありますか?

答えて

0

バックエンド

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プラグインをインストールし、私のserに削除要求を送信したときすべてがうまくいきました。

関連する問題