JSP-страница Confirmlnfo
Первое, что мы делаем в JSP-странице Confirmlnfo, — это помещаем информацию, введенную в форму на JSP-странице Creditlnfo, в объект Creditlnfo. При этом используются элементы jsp:useBean и jsp:setProperty, как и в двух предыдущих JSP-страницах. После того как получен объект Order, скриптлет извлекает из него объект Customer-Information, а затем вызывается метод setCreditlnfo, чтобы записать полученные значения, как показано в листинге 5.22.
Листинг 5.22. Запись данных кредитной карты (Confirmlnfo.jsp)
<%@ page import="com.XmlEcomBook.Chap05.*" %>
<jsp:useBean scope="session" id="creditInfo" class="CreditInfo" />
<jsp:setProperty name="creditInfo" property="*" />
<jsp:useBean scope="session" id="order" class="Order" />
<% CustomerInfo cust = order.getCustomerInfo();
cust.setCreditInfo( creditInfo );
%>
Код HTML этой страницы вновь отображает все введенные клиентом данные. Это позволяет клиенту проверить всю введенную им информацию до того, как она будет окончательно отправлена на сервер поставщика для получения подтверждения. Для этого берутся объекты Customerlnfo и Fullfilment, связанные с данным сеансом, и с помощью элементов jsp:getProperty из них извлекаются различные параметры заказа, которые затем отображаются на странице. Внизу страницы располагается кнопка, которая позволяет клиенту отправить данные на сервер, если он не обнаружил ошибок. Чтобы исправить неверно введенные данные, клиент может воспользоваться кнопкой Back (Назад) в окне браузера. Листинг 5.23 содержит код для отображения и проверки введенных клиентом данных.
Листинг 5.23. Отображение информации для ее подтверждения клиентом (Confirmlnfo.jsp)
<html>
<head><title>Confirm Info</title></head>
<body>
<jsp:useBean scope="session" id="custInfo" class="CustomerInfo" />
<jsp:useBean scope="session" id="shippingInfo" class="Fulfillment" />
<p>Verify the information you entered:</p>
<p>Name: <b><jsp:getProperty name="custInfo" property="firstName" />
<jsp:getProperty name="custInfo" property="lastName" /></b>
</p>
<p>
Address:<br />
<b><jsp:getProperty name="custInfo" property="address1" /> <br />
<jsp:getProperty name="custInfo" property="address2" /><br />
<jsp:getProperty name="custInfo" property="city" />,
<jsp:getProperty name="custInfo" property="state" />
<jsp:getProperty name="custInfo" property="zip" />
</b></p>
<p>Email: <b><jsp:getProperty name="custInfo" property="email" /></b></p>
<p>Phone Number: <b><jsp:getProperty name="custInfo" property="phoneNumber" />
</b></p>
<p>
Credit Card Type : <b><jsp:getProperty name="creditInfo"
property="creditCardType" /></b><br />
Credit Card Number: <b><jsp:getProperty name="creditInfo"
property="creditCardNumber" /></b><br />
Expiration Date : <b><jsp:getProperty name="creditInfo"
property="expirationDate" /></b>
</p>
<p>
Shipper: <b><jsp:getProperty name="shippingInfo"
property="shipper" /></b><br />
Class : <b><jsp:getProperty name="shippingInfo"
property="shippingClass" /></b>
</p>
<b><i> Press the back button on your browser to correct any information.</i></b>
<form action="servlet/SubmitOrder">
<input type="submit" value="Submit Order" />
</form>
</body>
</html>