Каков наилучший способ построить файл HTML с Java? - PullRequest
1 голос
/ 13 апреля 2011

Я создаю журнал в формате HTML в Java. Существует ли структура данных, которая лучше всего подходит для хранения HTML?

Это не кажется мне очень чистым:

String html_header = "<!DOCTYPE html>\n<html><head><title>blah</title>...</html>";

Это может стать особенно уродливым, когда мне нужно использовать атрибуты в теге и нужно избегать кавычек вокруг этого атрибута.

Было бы лучше создать файл данных, который представляет собой шаблон HTML, который я могу читать через Java?

1 Ответ

6 голосов
/ 13 апреля 2011

В зависимости от ваших потребностей у вас будет несколько вариантов. Если вы хотите построить структуру документа из объектов, вы можете использовать DOM4j, который позволит вам написать код, подобный этому:

Document document = DocumentHelper.createDocument();
Element html = document.addElement( "html" );
Element head = html.addElement("head");
head.addElement("title").addText("blah");

Element body = html.addElement("body")
// etc

Эта структура затем может быть преобразована в строку, и все детали форматирования (открывающие / закрывающие теги, включающие атрибуты и т. Д.) Будут обрабатываться для вас. Конструктор элементов Джакарты предоставляет аналогичный API, который также более специфичен для HTML.

В качестве альтернативы, вы можете включить шаблонизатор, который позволит вам писать HTML-файлы с заполнителями для значений переменных и базовой логики. Затем вы должны объединить эти шаблоны с вашими данными для создания окончательного HTML. FreeMarker - очень широко используемый движок, который даст вам большую гибкость, если вы не против потратить немного времени на изучение их языков шаблонов.

Если вы пойдете по этому пути, вы создадите шаблон, подобный следующему:

<html>
    <head>
    <title>${myTitle}</title>
    </head>
    <!-- blah -->
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...