javaのWebアプリケーション作成で質問があります。
MVCに沿ってファイルを分けて作成したいのですが、DBの更新処理がうまくいきません。
Controller→Model間の正しいコードが分からなかったのでヒントでも教えていただけると助かります。
JSP(一部抜粋)
</tr> <% List<Bean> Prodcutlist = (List<Bean>)request.getAttribute("Prodcutlist"); for (Bean bean : Prodcutlist) { %> <tr> <td><%=bean.getId()%></td> <td><%=bean.getName()%></td> <td><%=bean.getPrice()%></td> <form action="/Product_management/edit" method="Get"> <input type="hidden" name="id" value="<%=bean.getId()%>"> <input type="hidden" name="name" value="<%=bean.getName()%>"> <input type="hidden" name="price" value="<%=bean.getPrice()%>"> <input type="submit" onClick="location.href='http://localhost:8080/Product_management/edit'" value="編集"> </form>Controller
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
ManagementModel model = new ManagementModel(); ArrayList<Bean> Prodcutlist = model.getBeanlist(); req.setAttribute("Prodcutlist", Prodcutlist); String name = req.getParameter("name"); String price = req.getParameter("price"); String id = req.getParameter("id"); RequestDispatcher rd = req.getRequestDispatcher("/EditingScreen.jsp"); rd.forward(req, res); } protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String name = req.getParameter("name"); String price = req.getParameter("price"); String id = req.getParameter("id"); EditModel dao = new EditModel(); dao.list(id, name, price); res.sendRedirect("/EditingScreen.jsp");
}
Model
public class EditModel {
private Connection con_ = null; private ResultSet rs_ = null; private PreparedStatement ps_ = null; public void list(String id, String name, String price) { try { Connection con = null; String url = "jdbc:mysql://192.168.1.2/komori"; String user = "contentsservice"; String password = "contentsservice"; Class.forName("com.mysql.jdbc.Driver").newInstance(); con = DriverManager.getConnection(url, user, password); this.ps_ = this.con_.prepareStatement("update Prodcutlist set name=?,price=? Where id = ?"); this.ps_.setString(1,"id"); this.ps_.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public void close() { try { // データベースとの接続を解除する if (this.con_ != null) { this.con_.close(); } if (this.ps_ != null) { this.ps_.close(); } if (this.rs_ != null) { this.rs_.close(); } } catch (SQLException se) { // データベースとの接続解除に失敗した場合 se.printStackTrace(); } }
}
あなたの回答
tips
プレビュー