2017-09-22 11 views
0

私はstackOverflowでもさまざまな解決策を見つけましたが、うまくいきません。JSPからサーブレットにオブジェクトを設定する

Javaユーザー定義オブジェクトproductをdinamicallyで表示するJSPファイルがあります。このオブジェクトには一意のIDがあります。すべての製品について、すべての情報と「カートに追加」というボタンが表示されます。カートに追加するにはどうしたらいいですか?

私のコード(JSP):私は、ユーザーのカートに製品を追加するにはどうすればよい

<% List<Product> queryResults = (ArrayList<Product>) request.getAttribute("queryResults"); 

     for(Product product : queryResults) { %> 

     <table class = "qrtable"> 

      ....... 

       <% User currentUser = (User) session.getAttribute("currentSessionUser"); 
       if (currentUser != null){%> <!-- user is logged --> 
       <tr><td colspan="2"> 
        <form action="${pageContext.request.contextPath}/cart" method="post"> 
         <input type="submit" value="Add to cart"/> 
        </form> 
       </td></tr> 
       <%} 
      else{ 

       } %> 

      </table> 
     <% } %> 

? [カートに追加]ボタンを押したときに、サーブレットにproductIDを渡すにはどうすればよいですか?

答えて

0

解決策が見つかりました。 JSPで

サーブレット(方法 POST)において
<% User currentUser = (User) session.getAttribute("currentSessionUser"); 
       if (currentUser != null){%> 
       <tr> 
        <td colspan="2"> 
         <form action="${pageContext.request.contextPath}/cart" method="POST"> 
          <input type="hidden" name="productID" value="<%=product.getID()%>" /> 
          <input type="submit" value="Add to cart"/> 
         </form> 
        </td> 
       </tr> 
       <%} else{%> 
       <tr> 
        <td colspan="2">Account required to buy.</td> 
       </tr> 
      <%} %> 

int productID = Integer.parseInt(request.getParameter("productID")); 

HttpSession session = request.getSession(true); 
User loggedUser = (User) session.getAttribute("currentSessionUser"); 
loggedUser.getShoppingCart().addToCart(ProductDAO.getFromDatabase(productID)); 
関連する問題