Глава 14. Типовые решения, предназначенные для представления данных в Web 369
Принцип действия
Основная идея, лежащая в основе типового решения представление по шаблону, —
вставка маркеров в текст готовой статической HTML-страницы. При вызове страницы
для обслуживания запроса эти маркеры будут заменены результатами некоторых вычис-
лений (например, результатами выполнения запросов к базе данных). Подобная схема
позволяет создавать статическую часть страницы с помощью обычных средств, напри-
мер текстовых редакторов, работающих по принципу WYSIWYG, и не требует знания
языков программирования. Для получения динамической информации маркеры об-
ращаются к отдельным программам.
Представление по шаблону используется целым рядом программных средств. Таким
образом, ваша задача состоит не столько в том, чтобы разработать данное решение са-
мому, сколько в том, чтобы научиться его эффективно использовать и познакомиться
с возможными альтернативами.
Вставка маркеров
Существует несколько способов внедрения маркеров в HTML-страницу. Один из
них — это использование HTML-подобных дескрипторов. Данный способ хорошо под-
ходит для редакторов, работающих по принципу WYSIWYG, поскольку они распознают
элементы, заключенные в угловые скобки (<>), как специальное содержимое и поэтому
игнорируют их либо обращаются с ними иначе, чем с обычным текстом. Если дескрип-
торы удовлетворяют правилам форматирования языка XML, для работы с полученным
документом можно использовать средства XML (разумеется, при условии, что результи-
рующий документ HTML является документом XHTML).
Еще один способ внедрения динамического содержимого— вставка специальных
текстовых маркеров в тело страницы. В этом случае текстовые редакторы WYSIWYG бу-
дут воспринимать вставленные маркеры как обычный текст. Разумеется, содержимое
маркеров от этого не изменится, однако может быть подвергнуто разнообразным назой-
ливым операциям, например проверке орфографии. Тем не менее данный способ позво-
ляет обойтись без запутанного синтаксиса HTML/XML.
Некоторые среды разработки содержат наборы готовых маркеров, однако все боль-
ше и больше платформ позволяют разработчику определять собственные дескрипторы
и маркеры в соответствии с нуждами конкретных приложений.
Одной из наиболее популярных форм представления по шаблону является страница
сервера (serverpage) — ASP, JSP или PHP. Вообще говоря, страницы сервера — это нечто
большее, чем представление по шаблону, поскольку они позволяют внедрять в страницу
элементы программной логики, называемые скриптлетами (scriptlets). Я, однако, рас-
сматриваю наличие скриптлетов как признак дурного тона, поэтому настоятельно реко-
мендую ограничивать поведение страниц сервера стандартной формой представления по
шаблону.
Наиболее очевидный недостаток внедрения в страницу сервера множества скрипт-
летов состоит в том, что ее могут редактировать исключительно программисты. Данная
проблема особенно критична, если проектированием страницы занимаются графиче-
ские дизайнеры. Однако самые существенные недостатки скриптлетов связаны с тем,
что страница — далеко не самый подходящий модуль для программы. Даже при ис-
пользовании объектно-ориентированных языков программирования внедрение кода
в текст страницы лишает вас возможности применять многие средства структурирования,