📄 makeorderform.jsp
字号:
<%@ 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/csai.tld" %>
<%@ page isELIgnored="false"%>
<c:if test="${empty sessionScope.user_id}">
<c:redirect url="../index.jsp"/>
</c:if>
<!------设置数据源------>
<sql:setDataSource dataSource="jdbc/sqlserver" 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -