Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在不访问数据库的情况下获取价值?_Java_Jsp_Servlets_Persist - Fatal编程技术网

Java 如何在不访问数据库的情况下获取价值?

Java 如何在不访问数据库的情况下获取价值?,java,jsp,servlets,persist,Java,Jsp,Servlets,Persist,我需要你的帮助。我目前正在做一个关于购买的项目。用户单击addtocart后,该项目将被添加到购物车中,但尚未保存到数据库中。随后,我将让用户单击checkout。jsp将执行操作并将它们带到PurchaseCheckOut servlet。那么,我如何从以前的数据中获取数据呢 PurchaseCart.jsp <body> <%!List<Double> stockArray = new ArrayList<Double>() ;%

我需要你的帮助。我目前正在做一个关于购买的项目。用户单击addtocart后,该项目将被添加到购物车中,但尚未保存到数据库中。随后,我将让用户单击checkout。jsp将执行操作并将它们带到PurchaseCheckOut servlet。那么,我如何从以前的数据中获取数据呢

PurchaseCart.jsp

<body>
          <%!List<Double> stockArray = new ArrayList<Double>() ;%>

     <%!List<Object> list1 = new ArrayList<Object>();%>

     <% Object o = request.getAttribute("purchased"); 
     list1.add(o); 
     int size = list1.size(); 
     double stockPrice = (Double)request.getAttribute("stockPriceReal"); 
      if(stockArray.size() == 0)
      { 
         stockArray.add(stockArray.size(),stockPrice);
      } 
      else {

stockArray.add(stockArray.size(), stockPrice);  }  %>
<form action = "../PurchaseCheckOut"> 
   <table border="1">
            <thead>
                <tr>
                    <th>No.</th>
                    <th>Purchase Details ID</th>
                    <th>Stock ID</th>
                    <th>Quantity</th>
                    <th>Price</th>
                </tr>
            </thead>
            <tbody>

                    <% for (int g = 0; g < size; g ++) { %>
                <tr>
                   <% String toString = list1.get(g).toString(); 
                    String subString1 = toString.substring(0,7);
                    String subString2 = toString.substring(7,9);
                    String subString3 = toString.substring(9,14);
                   %>
                    <td><%= g +1 %></td>
                    <td><%= subString1 %></td>
                    <td><%= subString2 %></td>
                    <td><%= subString3 %></td>
                    <td><%= stockArray.get(g).toString() %></td>


                </tr>

                <% } %>
            </tbody>
        </table>
            <input type = submit name="checkout" value="Check Out">
            </form>
     </body>
用于addPurchasedetails的PurchaseService

 public boolean addPurchasedetails(Purchasedetails purcD) {
    mgr.persist(purcD);
    return true;    }

购买的结构是这样工作的:PurchaseM.jsp(让用户选择)->PurchaseCreate.java(将所有值传递给cart)->PurchaseCart.jsp(显示值(尚未持久化))->PurchaseCheckOut.java(持久化)->AddConfirm.jsp(显示“您已经完成”)

您可以将“添加到购物车”值存储在会话对象中,并在任何需要的地方引用。

我按照您所说的做了,但我应该将表单放在哪里?当我点击CheckOut时,出现错误404。我的表单I simply
input submit
您将获得404,因为您到PuchaseCheckOut的路径不正确。提供您的PurchaseCheckOut servlet所在的正确路径。我刚做了../PurchaseCheckOut,因为我做了../PurchaseCreate for previous,它可以工作。两者都在同一文件夹中,两个JSP都在同一文件夹中。我的purchaseCheckOut位于source packages->model下,我的jsp文件位于web pages->Member Access下,我实际上会将其传递给MainButtonNM,MainButtonNM会将它们重定向到它们自己的透视servlet。MainButtonM与PurchaseCheckOut位于同一文件夹中您以../PurchaseCheckout开头的URL需要确认。如果在同一路径中以及在web.xml中都有可用的路径,则可以删除“./”,然后重试。
 public boolean addPurchasedetails(Purchasedetails purcD) {
    mgr.persist(purcD);
    return true;    }