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