Delphi 12.2 представил Webstencils, основан на сценарии способа обработки текста, аналогичного технологии ASP.NET Razor. Его основное использование состоит в том, чтобы генерировать динамический HTML из приложения сервера веб -брокеров, но может использоваться другими способами для генерации XML, JSON или любого типа текстовых выводов из шаблона.
Этот репозиторий содержит пару очень простых приложений Delphi 12.2 (запускается в виде программ Windows VCL, которые запускают веб-браузер) для сравнения шаблонов, сделанных с тегами в стиле HTML, используемых в компонентах TPageProducer , с новыми тегами символов, используемыми в новых компонентах TWebStencilsProcessor . Все файлы Project и HTML находятся в одной папке, и два проекта имеют модуль данных для доступа к базе данных SQLite Chinook (не включены).
В каждом приложении есть пять страниц, которые можно выглядеть идентично, чтобы вы могли сосредоточиться на технологии шаблона:
Файлы HTML, на которые ссылаются два проекта, названы, чтобы прояснить, какой проект/технология они работают:
Традиционный шаблон PageProducer HTML -файлы:
index-wbroker.htmlloginfailed-wbroker.htmlcustlist-wbroker.htmlcustedit-wbroker.htmlaccessdenied-wbroker.htmlНовый шаблон WebStencils HTML -файлы:
index-wStencils.htmllogin-failed-wStencils.htmlcustlist-wStencils.htmlcustedit-wStencils.htmlaccessdenied-wStencils.htmlcustlistframework1.htmlОбратите внимание, что есть еще один файл в коллекции WebStencils, это шаблон для каждой веб -страницы, сгенерированную из действий WebStencings, и объединяется из строк заголовка и нижнего колонтитула, встроенных в производителей страниц, используемых в традиционном проекте веб -брокера.
Прежде чем попытаться компилировать или запустить, вы должны загрузить базу данных образцов Chinook. Это популярная база данных, используемая для учебных пособий и демонстраций, и ее можно найти во многих разных местах. Я использую DBEAVER, бесплатный инструмент базы данных, и нашел его с этим.
После того, как у вас есть chinook.db в той же папке, что и проект, вам необходимо открыть модуль данных (используемый обоими проектами), udmCust и изменить компонент TFDConnection , чтобы указать местоположение файла базы данных. Я также бы предложил использовать инструмент базы данных или Delphi Data Explorer для просмотра таблиц в базе данных.
Delphi 12.2 использовался для создания и тестирования этих программ (которые не используют сторонние компоненты).
Обе демонстрации создаются в виде программ GUI Windows Windows, а это означает, что они запускаются как небольшая программа Windows VCL, которая открывает порт для прослушивания веб -запросов с помощью кнопки для запуска веб -браузера по умолчанию. Версия PageProducer прослушивает в порту 8081, а версия WebStencils прослушивает на порту 8082, так что вы можете запустить оба одновременно, если хотите.
Первая страница перечислена страница входа. Действительный вход должен быть введен, прежде чем он доставит вас в список клиентов. Действительным входом в систему является любой пользователь в таблице сотрудников, где:
FirstName , нечувствительное к случаю;EmployeeId и LastName , кейс -чувствительности .Например, в первой записи в примерной базе данных, которую я скачал, была следующая первая сотрудник:
ID : 1FirstName : ЭндрюLastName : АдамсПоэтому, чтобы войти с этим сотрудником:
ANDREW (верхний или нижний или смешанный корпус)1Adams (точно)После входа в систему показан список клиентов. Идентификатор каждого клиента (столбец на основе левой части)-это ссылка, которая приводит вас на экран «редактирование», на котором перечислены все поля клиента в поле редактирования. Кнопка отправки не сохраняет изменения и не делает ничего, кроме как вернуть вас в список клиентов.
Я использовал две разные базы данных «Чинук», у одного были единственные имена таблиц (например, «Клиент» и «Сотрудник»), в то время как у другого было множественное число (например, « клиент » и « сотрудники »); Если тот, который вы получаете, отличается от того, что в этом репозитории просто измените имена таблиц и запросы, чтобы соответствовать.
Список клиентов построен с использованием старых тегов таблицы HTML ( <table> , <tr> , <td> и т. Д.), Поскольку это просто и по умолчанию, как были сделаны старые приложения сервера веб -брокеров с использованием компонентов TDataSetTableProducer . Новая версия WebStencings создает тот же HTML -результат, чтобы вы могли сравнить, как это сделано, и полученные веб -страницы будут почти идентичны. Современные веб-сайты обычно строят таблицы в стиле CSS, что может быть реализовано путем перехода от DataSettableProducers на WebStencings.
Прочитайте мой блог «Представляю Webstencings», чтобы узнать больше об технологии этих программ и о том, почему WebStencils - это круто!