eshop.jsp
上传用户:xjrzjk
上传日期:2022-07-31
资源大小:1585k
文件大小:6k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html; charset=GBK" %>
  2. <%@ page import="java.sql.*"%>
  3. <%@ page import="java.text.DecimalFormat"%>
  4. <%!
  5.   private String puttoShopBag(String cpbm, String productList){
  6.     if (productList == null){
  7.       productList = "'" + cpbm + "'";
  8.     }else if (productList.lastIndexOf(cpbm)<0){
  9.       productList = productList + ",'" + cpbm + "'";
  10.     }
  11.     return productList;
  12.   }
  13. %>
  14. <%
  15.   try{
  16. String[] arrayProduct = request.getParameterValues("cpbm");
  17. String strCheck = "";
  18. if (arrayProduct.length == 0){
  19.   strCheck = "no";
  20. }
  21. String productList = (String)request.getSession(true).getAttribute("productList");
  22. for (int i=0; i<arrayProduct.length; i++){
  23.   productList = this.puttoShopBag(arrayProduct[i],productList);
  24. }
  25. request.getSession(true).setAttribute("productList", productList);
  26. String head = "以下是您所选购的物品清单";
  27. productList = (String)request.getSession(true).getAttribute("productList");
  28. if (productList == null){
  29.   response.sendRedirect("nothing.jsp");
  30.   return;
  31. }
  32. String strMySelf = request.getParameter("MySelf");
  33. if (strMySelf == null || strMySelf.equals("")){
  34. }else{
  35.   if (strMySelf.equals("Yes")){
  36.     String[] arrayCpbm = request.getParameterValues("cpbm");
  37.     for (int i=0;i<arrayCpbm.length;i++){
  38.       productList = this.puttoShopBag(arrayCpbm[i],productList);
  39.     }
  40.     request.getSession(true).setAttribute("productList", productList);
  41.   }
  42. }
  43. if (productList == null){
  44.   response.sendRedirect("nothing.jsp");
  45.   return;
  46. }
  47. //数据库连接
  48. Class.forName("oracle.jdbc.driver.OracleDriver");
  49. String strUrl = "jdbc:oracle:thin:@slight:1521:LOCAL";
  50. String strUser = "eshop";
  51. String strPassword = "eshop";
  52. Connection con = DriverManager.getConnection(strUrl, strUser, strPassword);
  53. Statement st = con.createStatement();
  54. String sql = "select * from product where product_id in (" + productList +")";
  55. System.out.println("查询语句为:" + sql.toString());
  56. ResultSet rs = st.executeQuery(sql);
  57. %>
  58. <html>
  59. <head>
  60. <title>
  61. 以下是您所选购的物品清单
  62. </title>
  63. <link rel="stylesheet" type="text/css" href="style.css">
  64. </head>
  65. <script language="Javascript">
  66. //函数名:fucCheckNUM
  67. //功能介绍:检查是否为数字
  68. //参数说明:要检查的数字
  69. //返回值:1为是数字,0为不是数字
  70. function fucCheckNUM(NUM)
  71. {
  72. var i,j,strTemp;
  73. strTemp="0123456789";
  74. if ( NUM.length== 0)
  75. return 0
  76. for (i=0;i<NUM.length;i++)
  77. {
  78. j=strTemp.indexOf(NUM.charAt(i));
  79. if (j==-1)
  80. {
  81. //说明有字符不是数字
  82. return 0;
  83. }
  84. }
  85. //说明是数字
  86. return 1;
  87. }
  88. function clean()
  89.  {
  90.   window.location.href="clear.jsp"
  91.   }
  92. </script>
  93. <body topmargin="5">
  94. <div align="center">
  95. <table width="80%" border="0" cellspacing="0">
  96.   <tr>
  97.     <td width="80%" valign="top">
  98.       <p align="center">
  99. <font color="#FF0000" ><%=head%></font></p>
  100.       <!--webbot BOT="GeneratedScript" PREVIEW=" " startspan -->
  101. <form Action="eshop.jsp" Method="POST" name="FrontPage_Form1">
  102. <input type="hidden" name="MySelf" value="Yes">
  103. <table border="0" cellspacing="1" width="550" class=main bgcolor="#000000">
  104.         <tr bgcolor="#006699">
  105.           <td align="center" width="82"  height="22" bgcolor="#006699"><font color="#EEEEEE">商品编号</font></td>
  106.           <td align="center" width="170"  height="22" bgcolor="#006699"><font color="#EEEEEE">商品名称</font></td>
  107.           <td align="center" width="76" height="22" bgcolor="#006699"><font color="#EEEEEE">商品价格</font></td>
  108.           <td align="center" width="76"  height="22" bgcolor="#006699"><font color="#EEEEEE">商品数量</font></td>
  109.           <td align="center" width="60"  height="22" bgcolor="#006699"><font color="#EEEEEE">购买</font></td>
  110.           <td align="center" width="72"  height="22" bgcolor="#006699"><font color="#EEEEEE">总价</font></td>
  111.         </tr>
  112. <%
  113.   double dbSum = 0;
  114.   DecimalFormat df = new DecimalFormat("0.00");
  115.   while(rs.next()){
  116.     String strFormElement = "Q_"+rs.getString("Product_Id");
  117.     String strQuatity = request.getParameter(strFormElement);
  118.     int Quatity = 0;
  119.     if (strQuatity == null || strQuatity.equals("")){
  120.     }else{
  121.       Quatity = Integer.parseInt(strQuatity);
  122.     }
  123.     if (Quatity <=0){
  124.       Quatity = 1;
  125.     }
  126.     request.getSession(true).setAttribute("product_id", String.valueOf(Quatity));
  127.     dbSum = dbSum + rs.getDouble("p_newprice") * Quatity;
  128. %>
  129.         <tr>
  130.           <td align="center" width="82" bgcolor="#EEEEEE"><%=rs.getString("Product_ID")%></td>
  131.           <td align="center" width="170" bgcolor="#EEEEEE"><%=rs.getString("Product_Name")%></td>
  132.           <td align="center" width="76" bgcolor="#EEEEEE"><%=df.format(rs.getDouble("P_NewPrice"))%></td>
  133.           <td align="center" width="76" bgcolor="#EEEEEE"><input Name="<%="Q_" + rs.getString("Product_Id")%>" Value="<%=Quatity%>" Size="3"></td>
  134.           <td Align="center" width="60" bgcolor="#EEEEEE"><input Type="CheckBox" Name="cpbm" Value="<%=rs.getString("Product_Id")%>" Checked></td>
  135.           <td Align="center" width="72" bgcolor="#EEEEEE"><%=df.format(rs.getDouble("P_NewPrice")*Quatity)%>元</td>
  136.       </tr>
  137. <%
  138.   }
  139. %>
  140.       <tr>
  141.         <td Align="Right" ColSpan="6" width="546" bgcolor="#EEEEEE">
  142.           <font Color="Red">总价格=人民币 <%=df.format(dbSum)%>.00元</font>
  143.         </td>
  144.       </tr>
  145.     </table>
  146.       <blockquote>
  147.         <input Type="submit" Value="更改数量" name="B1" style="font-size: 9pt">&nbsp;&nbsp;&nbsp;
  148.         <input type="button" value="继续购物" name="B2" onclick="window.close();" style="font-size: 9pt">&nbsp;&nbsp;&nbsp;
  149.         <input type="button" value="订单取消" name="B3" OnClick="clean()" style="font-size: 9pt">&nbsp;&nbsp;&nbsp;
  150.         <input type="button" value="去收银台" onClick="window.open('ment.jsp',window.close(), 'Sample', 'toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=yes,width=610,height=600,left=100,top=100')" name="b4">      <p align="center"><font color="#FF0000">注意:改变“商品数量需按“更改数量”</font>
  151.       </blockquote>
  152.    </form>
  153.     </td>
  154. </tr>
  155. </table>
  156. </div>
  157. </body>
  158. </html>
  159. <%
  160.   }catch(Exception e){
  161.   //错误处理
  162.   throw (e);
  163.   }
  164. %>