ショッピングカートっシステムを作成しているのですが、ショッピングカートに商品を追加削除するところで躓いています。チェックボックス選択し追加する形にしたいのですが、チェックボックスを選択し追加できません、よろしくお願いいたします。
環境は
・JSP
・Java
・Tomcat
・MYSQLです。
add.java
1package servlet; 2 3import java.io.IOException; 4import java.util.ArrayList; 5import java.util.List; 6 7import javax.servlet.RequestDispatcher; 8import javax.servlet.ServletException; 9import javax.servlet.annotation.WebServlet; 10import javax.servlet.http.HttpServlet; 11import javax.servlet.http.HttpServletRequest; 12import javax.servlet.http.HttpServletResponse; 13import javax.servlet.http.HttpSession; 14 15import model.entity.UserBean; 16 17/** 18 * Servlet implementation class ItemAdd 19 */ 20@WebServlet("/itemadd") 21public class ItemAdd extends HttpServlet { 22 private static final long serialVersionUID = 1L; 23 24 /** 25 * @see HttpServlet#HttpServlet() 26 */ 27 public ItemAdd() { 28 super(); 29 // TODO Auto-generated constructor stub 30 } 31 32 /** 33 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse 34 * response) 35 */ 36 protected void doGet(HttpServletRequest request, HttpServletResponse response) 37 throws ServletException, IOException { 38 // TODO Auto-generated method stub 39 response.getWriter().append("Served at: ").append(request.getContextPath()); 40 } 41 42 /** 43 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse 44 * response) 45 */ 46 protected void doPost(HttpServletRequest request, HttpServletResponse response) 47 throws ServletException, IOException { 48 // TODO Auto-generated method stub 49 50 // セッションオブジェクトの取得 51 HttpSession session = request.getSession(); 52 53 // セッションスコープからの属性値の取得 54 List<UserBean> cartlist = (List<UserBean>) session.getAttribute("cartlist"); 55 56 // タスクリストが格納されていなかった場合 57 if (cartlist == null) { 58 cartlist = new ArrayList<UserBean>(); 59 } 60 61 // リクエストのエンコーディング方式を指定 62 request.setCharacterEncoding("UTF-8"); 63 64 UserBean cart = new UserBean(); 65 66 cart.setItem_nm(request.getParameter("item_nm")); 67 cart.setPrice(Integer.parseInt(request.getParameter("price"))); 68 69 70 cartlist.add(cart); 71 72 // セッションスコープへの属性の設定 73 session.setAttribute("cartlist", cartlist); 74 75 // リクエストの転送 76 RequestDispatcher rd = request.getRequestDispatcher("carttest.jsp"); 77 rd.forward(request, response); 78 } 79 80}
list.jsp
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8" import="model.entity.UserBean,java.util.List"%> 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>商品一覧</title> 8</head> 9<body> 10 <% 11 List<UserBean> itemList = (List<UserBean>) request.getAttribute("userList"); 12 13 if (itemList.size() != 0) { 14 %> 15 16 <h3>取扱商品一覧</h3> 17 18 <form action="itemadd" method="post"> 19 <table> 20 <tr> 21 <th>商品名</th> 22 <th>価格</th> 23 <th>購入個数</th> 24 <th>購入する商品にチェックをいれてください</th> 25 </tr> 26 27 <% 28 int cnt = 0; 29 for (UserBean user : itemList) { 30 %> 31 32 <tr> 33 34<td><%=user.getItem_nm()%></td> 35 <td><%=user.getPrice()%></td> 36 <td> 37 38 <select name = "orderQuantity" id="orderQuantity<%=cnt %>"> 39 40 <%for(int i = 0; i < 11; i++){%> 41 <option value = "<%=i %>"><%=i %></option> 42 <%} %> 43 44 </select> 45 46 </td> 47 <td><input type="checkbox" id="checkbox<%=cnt%>" name="checkbox[]" value="<%=cnt%>"></td> 48 </tr> 49 <% 50 cnt++; 51 } 52 %> 53 </table> 54 <% 55 } else { 56 %> 57 商品情報がありません。 58 <br> 59 <% 60 } 61 %> 62 63 <button type="submit">カートに入れる</button> 64 </form> 65 66 67</body> 68</html>
dao
1package model.dao; 2 3import java.sql.Connection; 4import java.sql.PreparedStatement; 5import java.sql.ResultSet; 6import java.sql.SQLException; 7import java.util.ArrayList; 8import java.util.List; 9 10import model.entity.UserBean; 11 12public class UserDAO { 13 14/* 15* ログイン認証 16* 17*/ 18public boolean login(String customer_id, String password) throws SQLException, ClassNotFoundException { 19String sql = "SELECT * from m_customer WHERE customer_id=? AND password=?"; 20 21try (Connection con = ConnectionManager.getConnection(); PreparedStatement pstmt = con.prepareStatement(sql)) { 22 23pstmt.setString(1, customer_id); 24pstmt.setString(2, password); 25 26ResultSet res = pstmt.executeQuery(); 27 28while (res.next()) { 29return true; 30} 31 32} 33 34return false; 35} 36 37// 商品一覧表示 38public List<UserBean> itemAll() throws SQLException, ClassNotFoundException { 39 40List<UserBean> list = new ArrayList<UserBean>(); 41 42// 商品名、価格を取得 43String sql = "SELECT ja.item_nm, se.price, se.item_cd FROM shopping_db.m_sales_item se inner join shopping_db.m_jancode ja on se.jan_cd = ja.jan_cd"; 44 45try (Connection con = ConnectionManager.getConnection(); PreparedStatement pstmt = con.prepareStatement(sql)) { 46 47ResultSet res = pstmt.executeQuery(); 48 49while (res.next()) { 50String item = res.getString("item_nm"); 51int price = res.getInt("price"); 52String item_cd = res.getString("item_cd"); 53 54UserBean userbean = new UserBean(); 55userbean.setItem_nm(item); 56userbean.setPrice(price); 57userbean.setItem_cd(item_cd); 58 59list.add(userbean); 60 61} 62 63} 64 65return list; 66}
あなたの回答
tips
プレビュー