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



Гибкость содержимого - часть 3


Листинг 3.13. Метод setlmtialSelected из CatalogBean (CatalogBean.java)

public boolean setInitialSelect(String s){

boolean ret = false ;

if( s.equals("all") ){

selected = cat.getAllProduct(); ret = true ;

}

else {

selected = cat.getProductsByPL( s );

if( selected != null ) ret = true ;

else {

System.out.println("not working yet");

}

}

return ret ;

}

public String doOutput( int n ){

return pf.doOutput( selected[n] );

}

В классе Catal ogBean имеется также метод doOutput, который просто вызывает метод doOutput класса ProductFormatter Элемент (товар), к которому применяется последний метод, указывается как n-й элемент массива selected:

public String doOutput( int n ){

return pf doOutput( selected[n] );

}

Теперь мы можем объединить все написанные нами компоненты для создания форматированной HTML-страницы, отображающей весь каталог. В листинге 3 14 приведен метод сервлета doPost, который устанавливает заголовок страницы, затем создает теги <head> и <title>, за которыми следует строка, содержащая тег <link> для связывания HTML-страницы с таблицей стилей. Затем следует тег <boby> и вызывается метод completeCatalog Далее пишутся закрывающие теги и закрывается выходной поток PnntWnter

Листинг 3.14. Метод doPost сервлета, отображающий весь каталог (CatalogTestServ.java)

public void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException

{

resp.setContentType("text/html");

PrintWriter out = new PrintWriter(resp.getOutputStream());

String action = req.getParameter("action");

out.println("<html>");

out.println("<head><title>CatalogTestServ Output</title>");

out.println( cssLink );

out.println("</head>\r\n<body>");

try {

if( "showcatalog".equals( action )){

completeCatalog( out );

}

else if( "selectkeyword".equals( action )){

doKeywordSelect( out );

}




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