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

         

Методы doNewsItemHead...



Листинг 8.12. Методы doNewsItemHead и doNewsItemShort (NewsFormatter.java)

// <Newsitem has been hashed, id is attribute private void doNewsItemHead( PrintWriter out, String id ){ out.print("<a href=" + handler + "?id=" + id + "&size=L >
" );
out.print("<h3>
");
out.print( nodeHash.get("head") );
out.println("</h3>
</a>
");
out.println();
} // <Newsitem has been hashed, id is attribute // output with <p>
..</p>
formatting private void doNewsItemShort( PrintWriter out, String id ){ // note anchor to full item display out.print("<a href=" + handler + "?id=" + id + "&size=L >
" );
out.print("<h3>
");
out.print( nodeHash.get("head") );
out.println("</h3>
</a>
");
Element de = (Element)nodeHash.get("date");
out.print( de.getFirstChild() );
out.println("</p>
");
Element ne = (Element)nodeHash.get("short");
String wrk = ne.getFirstChild().getNodeValue().trim() ; if( !(wrk.startsWith("<P") || wrk.startsWith("<p")) ){ out.print("<p>
");
} out.print( wrk );
if( !(wrk.endsWith("/p>
") || wrk.endsWith("/P>
"))){ out.print("</p>
");
} itemsCount++ ; out.println();
}

Как показано в листинге 8.13, метод doNewsItemLong форматирует текст заголовка с помощью тега <h3>
. Было бы неплохо усовершенствовать этот метод так, чтобы он допускал возможность изменять указанный формат по мере надобности. Основной текст сообщения форматируется как абзац с помощью тега <р>
. Внутри самого текста могут содержаться любые форматирующие теги HTML, но теги <р>
всегда будут использоваться для полного текста сообщения.



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