Метод doShowProduct...
Листинг 4.11. Метод doShowProduct, который отображает информацию о товаре и позволяет заказывать товар (CatalogServ.java)
public void doShowProduct( HttpServletRequest req, HttpServletResponse resp,
PrintWriter out, HttpSession session, String action ){
ShoppingCart cart = (ShoppingCart)session.getValue("cart");
// older servlet engines use getValue
// ShoppingCart cart = session.getAttribute("cart");
// API 2.2
if( cart == null ){ // presumably the first pass
cart = new ShoppingCart();
session.putValue("cart", cart );
// older
//session.setAttribute( "cart",cart );
// API 2.2
}
out.print( brcrlf );
CatalogBean cb = new CatalogBean();
String id = req.getParameter( "id" );
if( "setcart".equals( action ) ){
String tmp = req.getParameter("itemct");
int itemct = 0;
try {
itemct = Integer.parseInt( tmp );
}catch(NumberFormatException e){
System.out.println("doShowProduct " + e );
}
CartItem item = cart.getProdById( id );
if( item == null ){
item = cb.createCartItem( id );
cart.addItem( item );
}
item.setNumberOrdered( itemct );
cart.removeEmptyItems();
}
out.print("<table width=\"70%\" border=\"3\" align=\"center\" >
\r\n");
cb.doFullItem( id, out, cart, alias );
out.print("</table>
\r\n");
}
Если action = showcart, то вызывается метод doShowCart. Как показано в листинге 4.12, этот метод переписывает теги HTML, которые задают начало и конец таблицы. Строки таблицы заполняются с помощью метода doCartList класса CatalogBean.
Содержание раздела