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

       

Метод doListOutput


Метод doListOutput (листинг 4.19) вызывается из CatalogBean для создания объекта типа String, содержащего форматированные данные по отдельному товару. Этот метод используется при конструировании таблицы, подобной приведенной на рис. 4.3. Обратите внимание, что мы создаем объект StringBuffer для построения строки (объекта String), поскольку добавление новых фрагментов в StringBuffer гораздо эффективнее, чем конкатенация (объединение) объектов String. Также заметим, что если методу передается переменная aLink, то текст, соответствующий элементу с индексом linkN, отображается в виде гипертекстовой ссылки.

Листинг 4.19. Метод doListOutput (ProductFormatter.java)

// создается строка с данными об отдельном товаре,

// используемая во многих листингах

// внешний вид определяется содержимым elem style

// обычно добавляется ссылка на более подробную

// информацию

 public String doListOutput( Element el ){

StringBuffer sb = new StringBuffer( );

String pid = null ;

if( aLink != null ){

pid = "&id=" + el.getAttribute("id") ;



}

for( int i = 0 ; i < elem.length ; i++ ){

if( i == linkN && pid != null ){

sb.append( "<a class=\"" );

sb.append( style[i] );

sb.append("\" href=\"");

sb.append( aLink ); // typically "http://xxxhost/servlet/serv

sb.append( pid );

sb.append("\">");

addText( sb, elem[i], el );

sb.append( " </a>");

}

else {

sb.append( "<span class=\"");

sb.append( style[i] ); sb.append("\">");

addText( sb, elem[i], el );

sb.append( " </span>");

}

}

return sb.toString();

} // end doListOutput

 



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