makeorderform.jsp

来自「一个简单的购物网站,包括购物车的实现」· JSP 代码 · 共 58 行

JSP
58
字号
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="csai" uri="/WEB-INF/tld/csai.tld" %>
<%@ page isELIgnored="false"%>
<c:if test="${empty sessionScope.user_id}">
	<c:redirect url="index.jsp"/>
</c:if>
<!------设置数据源------>
<sql:setDataSource 
  	dataSource="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=bookstore,com.microsoft.jdbc.sqlserver.SQLServerDriver,sa,19871127"
	var="sqlDS"/>
<!------生成订单------>
<!--生成订单的过程在同一个事务中-->
<!--======执行事务======-->
<c:catch var="error">
  	<sql:transaction dataSource="${sqlDS}">
  		<!--生成订单号-->
		<c:set var="insertSQL" 
			value="insert into order_form(user_id) values(${sessionScope.user_id})"/>
		<sql:update sql="${insertSQL}" var="infec"/>
		<!--如果生成订单成功,将购物车中的商品放入订单中-->
		<c:if test="${infec==1}">
			<!--得到生成的订单号-->
			<c:set var="selectSQL" value="
				select max(order_form_id) as order_form_id
				 from order_form where user_id=${sessionScope.user_id}"/>
			<sql:query sql="${selectSQL}" var="orderRS"/>
			<c:if test="${orderRS.rowCount>=1}">
				<c:forEach items="${orderRS.rowsByIndex}" var="order">
					<c:set var="order_id" value="${order[0]}"/>	
				</c:forEach>
				<!--将购物车中的商品放入订单中-->
				<c:forEach items="${sessionScope.car.myGoods}" var="carbook">
					<c:set var="book_id" value="${fn:substringBefore(carbook,'=')}"/>
					<c:set var="book_count" value="${fn:substringAfter(carbook,'=')}"/>
					<c:set var="insertSQL" value="
					insert into order_form_book(order_form_id,book_id,book_count)
					 values(${order_id},${book_id},${book_count})"/>
					<sql:update sql="${insertSQL}"/>
					<!--清除购物车中的商品-->
					<c:set var="car" scope="session" value="${null}"/>
				</c:forEach>
			</c:if>
		</c:if>
	</sql:transaction>
</c:catch>
<!--异常处理-->
<c:if test="${not empty error}">
	<c:out value="${error}"/>
	<a  href="index.jsp">返回</a>
</c:if>
<c:if test="${empty error}">
	<c:redirect url="viewOrderForm.jsp"/>
</c:if>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?