前提・実現したいこと
JAVAでログインした社員が別の社員の日報にいいねできる機能を作っています。
eclipseを使用しています。
現在いいね用のテーブルを作成してjspからログイン者のidと日報のidをいいね用のcreateServletに送りそれをいいねようの中間テーブルに保存するところまではできたのですが、
いいねのボタンを押されたら色を変えて、ログアウトしたりブラウザを閉じたりしても一度押されたら色を変化させたままにしたいのですがどのようにすればよいのかがわかりません。
該当のソースコード
jsp(いいねボタンの部分のコードです)
<td class="report_assessMent"> <form method="POST" action="<c:url value='/yoine/create' />"> <input type="hidden" name="login_employee" value="${login_employee}" /> <input type="hidden" name="report.id" value="${report.id}" /> <button id="square-button" type="submit">いいね!</button> <script> document.getElementById("square-button").onclick = function() { this.classList.toggle("blue"); }; </script> </form> </td>servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
EntityManager em = DBUtil.createEntityManager();
Yoine y = new Yoine(); y.setEmployee((Employee)request.getSession().getAttribute("login_employee")); Report r = em.find(Report.class, (Integer.parseInt(request.getParameter("report.id")))); y.setReport(r); em.getTransaction().begin(); em.persist(y); em.getTransaction().commit(); em.close(); response.sendRedirect(request.getContextPath() + "/reports/index"); }
}
試したこと
onclickなどを試してみましたが色を変化させたままにすることができず、他にも検索していろいろ調べましたが、やりかたが分かりませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。