Электронный магазин на Java и XML



         

Использование объектов Cartltem и ShoppingCart


Как показано в листинге 4.14, CatalogBean создает объект Cartltem для некоторого товара на основе информации, содержащейся в экземпляре cat класса TheCatalog.

Метод doCartLnst, приведенный в листинге 4 14, контролирует вывод всех объектов Cartltem, содержащихся в экземпляре класса ShoppingCart Форматирование таблицы осуществляется методом doShowCart класса CatalogServ Метод doCartList обеспечивает отображение каждого заказанного товара в отдельной строке таблицы HTML, а также отображение количества заказанных экземпляров (numeberOrdered) для каждого из них Типичная страница, показывающая содержимое корзины покупателя, представлена на рис 4 6

Листинг 4.14. Методы CatalogBean, связанные с объектом ShoppingCart (CatalogBean.java)

public CartItem createCartItem( String id ){

Element pE = cat.getProductElByID( id );

return new CartItem( pE );

}

// we are in a <table>.. </table> pf was created with setOutput

public void doCartList( PrintWriter out,

ShoppingCart cart ){

Vector v = cart.getItems();

int ct = v.size();

for( int i = 0 ; i < ct ; i++ ){

CartItem item = (CartItem)v.elementAt(i);

out.print("<tr><td>");

String id = item.getId();

out.print( pf.doListOutput( cat.getProductElByID(id)));

out.print( "</td><td>");

out.print( "Number ordered: " + item.getNumberOrdered() );

out.print( "</td></tr>\r\n");

}

}

6.gif

Рис. 4.6. Отображение содержимого корзины покупателя

Сложное форматирование при представлении полной информации о товаре (как показано на рис. 4 4 и 4 5) контролируется методом doFuTIItem, код которого приведен в листинге 4 15 Исходно мы строим таблицу с четырьмя или тремя ячейками в зависимости от наличия или отсутствия изображения товара В этой таблице содержатся сведения о товаре, его изображение (если оно есть), название и цена, а также количество заказанных экземпляров (если покупатель решил приобрести этот товар) Создается объект ProductFormatter, задающий стиль отображения всей этой информации о товаре, то есть стиль всех фрагментов текста, которые содержатся в документе XML, описывающем данный товар




Содержание  Назад  Вперед