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

         

Добавление остальных...



Листинг 6.61. Добавление остальных характеристик товара (UpdateProduct.java)

String price = req.getParameter( "price" );
price = price.replace( '$', ' ' );
product.setPrice( Util.getDouble( price ) );
String quantity = req.getParameter( "quantity" );
product.setQuantityInStock( Util.getInt( quantity ) );
String dateString = req.getParameter( "onSaleDate" );
Date date = product.getOnSaleDate();
if( date == null ) { date = new Date();
product.setOnSaleDate( date );
} date.fromString( dateString );
String description = req.getParameter( "description" );
product.setDescription( description );
product.removeAllImages();
for( int i = 1; getImage( "" + i, req, product );
i++ ) ;//do nothing getImage( "New", req, product );
product.removeAllClips();
for( int i = 1; getClip( new String( "" + i ), req, product );
i++ ) ;//do nothing getClip( "New", req, product );
// Return HTML. out.println( "<html>
<head>
<title>
Update Successful</title>
</head>
" );
out.println( "<body>
<h2>
Update Succesful</h2>
" );
out.println( "<a href='/main.html'>
Return to main page</a>
</body>
</html>
" );
}

Метод getAuthor, показанный в листинге 6.62, вызывается из метода doPost cep- влета, чтобы извлекать информацию из запроса и добавлять ее в Product. В JSP- странице Edit мы идентифицировали каждый элемент Author с помощью значения счетчика, которое добавлялось к строке author, а теперь мы ищем ту же строку для извлечения информации. Если строка не найдена или значение элемента Author пропущено, возвращается f al se. Если же значение обнаружено, то оно добавляется в Product как имя автора и метод возвращает булеву величину true.



Содержание раздела