首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将对象从JSP设置为servlet

问将对象从JSP设置为servlet
EN

Stack Overflow用户
提问于 2017-09-22 10:23:12
回答 1查看 549关注 0票数 0

我已经找到了不同的解决方案,即使在stackOverflow上也是如此,但它们对我不起作用。

我有一个JSP文件,直接显示product,一个Java用户定义的对象,它有一个唯一的ID。对于每一个产品,它应该显示所有的信息和一个按钮,上面写着"Add“。如何实现添加到购物车?

我的代码(JSP):

代码语言:javascript
复制
<% 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传递给servlet?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-22 12:42:41

我找到了解决办法。

在JSP中:

代码语言:javascript
复制
<% 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>
            <%} %>

在servlet (方法POST)中:

代码语言:javascript
复制
int productID = Integer.parseInt(request.getParameter("productID"));

HttpSession session = request.getSession(true);
User loggedUser = (User) session.getAttribute("currentSessionUser");
loggedUser.getShoppingCart().addToCart(ProductDAO.getFromDatabase(productID));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46362440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档