2015-10-14 61 views
2
<%@ 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对象的书籍和加入书对象的数组列表添加到购物车Servlet的 - 它是如何工作

“/> *

时我们单击添加到购物车按钮,如何做价值=” <%= book.getBname()%>精选不同的书相应的账面价值,

应该总是发送相同BOOKNAME按我的理解,

+0

在此先感谢 – aditya

+0

您有多个图书。 –

+0

为什么你重置“book”变量的新值你可以使用book1,book2,book3吗? – Rehman

回答

0

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

那它是如何工作

+0

感谢我的蛆现在... – aditya

+0

如果你找到这个答案有用你可以upvote它并接受它。谢谢 – MaVRoSCy

0

既然你迭代的书籍,它会创建氮素形态假设有n的书籍。 在每个表单中,您都保留一个隐藏字段,其中包含书名。因此,一旦您点击"Add to Cart"按钮,只有该表单数据被提交到addcart.jsp,您可以使用request.getParameter("bname")访问该书名。

只是一个例子,以使事情更加清楚

any.jsp

.... 
     <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> 

.... 

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

.... 
<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

感谢使它很容易理解 – aditya

+0

如果有帮助,投票或接受:) –