首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加到购物车Servlet -工作原理

添加到购物车Servlet -工作原理
EN

Stack Overflow用户
提问于 2015-10-14 20:26:27
回答 2查看 1.7K关注 0票数 2
代码语言:javascript
复制
<%@ page import="java.util.*,com.stakoverflow.bookstore.servlets.*"%>
<html>
<body>
<center><br><br>
<h1>Book Store</h1>
<table>
<%
List books=new ArrayList();
Book book=new Book();
book.setBid(101);
book.setBname("Learn java");
book.setAuthor("dsouza");
book.setCost(99.99);
book.setCat("Java");
book.setPub("india");
book.setIsbn("11-11");
books.add(book);

book= new Book();
book.setBid(102);
book.setBname("Learn JDBC");
book.setAuthor("bsk");
book.setCost(99.99);
book.setCat("Java");
book.setPub("india-pub");
book.setIsbn("11-11");
books.add(book);


book=new Book();
book.setBid(103);
book.setBname("Learn JSP");
book.setAuthor("pintu");
book.setCost(99.99);
book.setCat("Java");
book.setPub("newage");
book.setIsbn("11-11");
books.add(book);

book=new Book();
book.setBid(104);
book.setBname("Learn EJB");
book.setAuthor("Rj");
book.setCost(99.99);
book.setCat("Java");
book.setPub("tmh");
book.setIsbn("11-11");
books.add(book);

out.println("<table>");
%>
<tr>
<td>Book ID</td>
<td>Book Name</td>
<td>Author</td>
<td>Cost</td>
<td>Cat</td>
<td>Pub</td>
<td>ISBN</td>
</tr>
<% 
Iterator it=books.iterator();
while(it.hasNext()){
    book=(Book)it.next();
%>
<tr>
<td><%=book.getBid()%></td>
<td><%=book.getBname()%></td>
<td><%=book.getAuthor()%></td>
<td><%=book.getCost()%></td>
<td><%=book.getCat()%></td>
<td><%=book.getPub()%></td>
<td><%=book.getIsbn()%></td>

**<td>
*<form action="addcart.jsp">
<input type="hidden" name="bname" value="<%=book.getBname() %>"/>
<input type="submit" value="Add To Cart"/>*
</form>**
</td>
</tr>
<%
}
out.println("</table>");
%>
<a href="placeorder.jsp">Place My Order</a>
<form action="/Lab8/showcart.jsp">
<input type="submit" value="Show My Cart"/>
</form>
</table>
</center>
</body>
</html>

对于上面的jsp代码,我创建了一个ArrayList对象books并将Book对象添加到数组列表中

"/> *

当我们单击add to cart按钮时,value="<%=book.getBname() %>如何为不同的图书挑选相应的图书价值,

根据我的理解,它应该总是发送相同的书名,

EN

回答 2

Stack Overflow用户

发布于 2015-10-14 20:42:11

当您单击图书旁边相应的“添加到购物车”按钮时,图书所在的表单将提交到addcart.jsp。在这个jsp中,您应该使用request.getParameter("bname")获取图书名称,它是包含图书名称的隐藏字段(使用表单提交)。

这就是它的工作原理。

票数 0
EN

Stack Overflow用户

发布于 2015-10-14 23:17:02

由于您正在遍历书籍,因此假设有n本书,它将创建n个表单。在每个表单中,您都会保留一个包含bookname.So的隐藏字段。单击"Add to Cart"按钮后,只有表单数据会被提交到addcart.jsp,您可以在其中使用request.getParameter("bname")访问书名。

这只是一个让事情变得更清楚的例子

any.jsp

代码语言:javascript
复制
  ....
        <body>
              <%for(int i=1;i<5;i++){ %>
              <form method ="get" action="myServlet">
              <input type="hidden" name="bname" value="<%=i %>"/>
              <input type="submit" value="Add To Cart"/>
               </form>
               <%} %>
          </body>

....

如果你看到这个页面的源代码,它是

代码语言:javascript
复制
....
<body>

      <form method ="get" action="myServlet">
      <input type="hidden" name="bname" value="1"/>
      <input type="submit" value="Add To Cart"/>
       </form>

      <form method ="get" action="myServlet">
      <input type="hidden" name="bname" value="2"/>
      <input type="submit" value="Add To Cart"/>
       </form>

      <form method ="get" action="myServlet">
      <input type="hidden" name="bname" value="3"/>
      <input type="submit" value="Add To Cart"/>
       </form>

      <form method ="get" action="myServlet">
      <input type="hidden" name="bname" value="4"/>
      <input type="submit" value="Add To Cart"/>
       </form>

  </body>
  ...

我希望你能理解它是如何工作的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33125260

复制
相关文章

相似问题

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