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



         

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


Обычно объект Cartltem, соответствующий идентификатору товара, в этот момент уже добавлен к корзине Но если это не так, то создается новый объект Cartltem

Наличие или отсутствие ссылки на изображение товара в XML-каталоге влияет на форматирование верхней строки таблицы Если изображение отсутствует, то название товара вместе с его описанием занимает всю верхнюю строку

Листинг 4.15. Метод doFullItem (CatalogBean.java)

// we are in a <table>.. </table>

public void doFullItem( String id, PrintWriter out,

ShoppingCart cart, String alias ){

pf = new ProductFormatter( "full" );

pf.setResourcePath( resourcePath );

Element pE = cat.getProductElByID( id );

// out.print( cart.toString() ); // debugging

if( pE == null ){

out.print("Bad Product ID " + id ); return ;

}

CartItem ci = cart.getProdById( id );

if( ci == null ){

ci = new CartItem( pE );

System.out.println("Create CartItem " + ci.toString() );

} String imgS = pf.doImageTag( pE );

if( imgS != null ){

out.print("<tr><td align=\"center\">");

out.print(pf.doImageTag( pE ));

out.print("</td><td align =\"left\" >");

}

else{ // no image, spread description

out.print("<tr><td align=\"center\" colspan=\"2\" >");

}

out.print(pf.doProdName( pE ));

out.print(pf.doAuthorArtist( pE ));

out.print(pf.doDescription( pE ));

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

out.print("<tr><td align=\"center\" >");

out.print(pf.doPrice( pE ));

// lower right cell contains form

out.print("</td><td align=\"center\" > <form method=\"POST\" action=\"");

out.print( alias ); out.print( "\" >\r\n" );

out.print("<input type=\"HIDDEN\" name=\"id\" value=\"");

out.print( id ); out.print("\" >");

out.print("<input type=\"HIDDEN\" name=\"action\""




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