2013-09-29 65 views
0

我正在創建購物門戶。在此門戶網站中,我有一個購物車頁面,用於顯示所選物品的文本字段,用於輸入所需數量。我使用cart.jsp中的while循環對它們進行了編號。我正在檢索bill.jsp中的這些值。我得到第一個值,但其他值也與第一個值相同,而不是我們給出的值。有誰知道發生了什麼問題?使用JSP獲取文本框的值

cart.jsp

<html> 
<head> 
<meta name="generator" content="HTML Tidy for Linux (vers 25 March 2009), see www.w3.org"> 
<title>Shopping cart</title> 

<style type="text/css"> 
         * { font-size: 12px; font-family: Verdana } 
</style> 
<base href="%3C%=basePath%%3E"> 
<title>My JSP 'bill.jsp' starting page</title> 
<meta http-equiv="pragma" content="no-cache"> 
<meta http-equiv="cache-control" content="no-cache"> 
<meta http-equiv="expires" content="0"> 
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
<meta http-equiv="description" content="This is my page"> 
</head> 
<body> 
<img src="images/add.png" onclick="document.location='index.jsp'" alt="** PLEASE DESCRIBE THIS IMAGE **"> <img src="images/remove.png" onclick="document.location='remove.jsp'" alt="** PLEASE DESCRIBE THIS IMAGE **"> <img src="images/cart.png" onclick="document.location='cart.jsp'" alt="** PLEASE DESCRIBE THIS IMAGE **"> 
<h2>The shopping cart</h2> 
<![CDATA[ 
    int i = 1; 
    java.util.Enumeration content = session.getAttributeNames(); 
    out.println("<form name=f1 action=bill.jsp>"); 
    out.println("<table>"); 
    while (content.hasMoreElements()) { 
     out.println("<tr>"); 
     out.println("<td>"); 
     out.println(i); 
     out.println(content.nextElement()); 
     out.println("</td>"); 
     out.println("<td> <input type=text name=i>"); 
     out.println("</td>"); 
     i++; 
    } 
    out.println("</table>"); 
]]> 
<a href="index.jsp"></a> 
<h3><a href="index.jsp"><strong>Continue Shopping</strong></a></h3> 
<a href="remove.jsp"><strong>Remove items From Cart</strong></a> 
<form><input type="submit" value="generate bill"></form> 

bill.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
<!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> --> 
<!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> 
<![CDATA[ 
    int i = 1; 
    java.util.Enumeration content = session.getAttributeNames(); 
    out.println("<form name=f2>"); 
    out.println("<table>"); 
    while (content.hasMoreElements()) { 
     out.println("<tr>"); 
     out.println("<td>"); 
     out.println(i); 
     out.println(content.nextElement()); 
     out.println("</td>"); 
     out.println("<td>"); 
     String a = request.getParameter("i"); 
     out.println(a); 
     out.println("</td>"); 
     i++; 
    } 
    out.println("</table>"); 
    out.println("</form>"); 
]]> 
<br> 
</body> 
</html>  
+0

爲前,如果我選擇滿足e三個元素,購物車將顯示三個項目的三個文本字段中的任何一個。iam輸入值4,,7,5但是在bill.jsp剛剛獲得4,4,4 –

回答

0

變化

String a = request.getParameter("i"); 

String[] a = request.getParameterValues("i");