Взаимодействие Cold Fusion с базами данных

Взаимодействие Cold Fusion с базами данных. Cold Fusion позволяет динамически генерировать HTML документы основанные на запросах пользователя. Эти запросы передаются в Cold Fusion CGI - скрипт DBML.EXE , который пересылает данные в Cold Fusion Engine обрабатывающий эти данные в соответствии с заданным шаблоном, выполняя необходимые запросы и генерируя HTML документ, который отправляется пользователю.

Основой динамического создания документов являются специальные теги, входящие в язык разметки DBML, ориентированные на работу с базами данных. Почти все основные возможности Cold Fusion сосредоточены в четырех тегах DBQUERY - выполнение SQL - запроса к базе данных DBINSERT DBUPDATE - создание и модификация записей в базе данных DBOUTPUT - отображение результата запроса, допускающее его произвольное размещение среди HTML - тегов.

Шаблон, на основе которого генерируется HTML - документ, представляет собой комбинацию тегов HTML и DBML HTML - теги используются для форматирования как постоянной части документа, так и результатов запросов. Например, можно определить полужирный шрифт для каждого поля и разделительные линии между записями. DBML - теги используются для формирования запроса к базе данных, а также определяют где и как будут отображены результаты запросов. На рисунке 5-1 показывается, как Cold Fusion обрабатывает запрос, полученный от клиента Рисунок 5-1 1. Когда пользователь нажимает кнопку типа Submit в форме или выбирает гипертекстную ссылку в документе, Web - браузер отправляет запрос на Web - сервер. 2. Web - сервер, если в запросе указан DBML - шаблон, запускает процесс Cold Fusion, отправляя ему данные полученные от клиента. 3. Cold Fusion принимает данные полученные от клиента обрабатывает теги DBML в шаблоне, включая подготовку запроса к базе данных и форматирование, которое будет использоваться в результирующем документе. 4. Cold Fusion взаимодействует с базой данных используя ODBC. 5. Cold Fusion динамически генерирует HTML - документ содержащий результат выполнения запросов к базе данных и возвращает его Web - серверу.

Cold Fusion может также динамически генерировать почтовое сообщение и отправлять его через почтовый SMTP - сервер. 6. Web - сервер возвращает сгенерированный HTML - документ Web - клиенту. 5.5 Передача параметров в DBML-шаблонСуществует несколько способов передачи параметров между шаблонами.

Можно передавать параметры непосредственно в URL, использовать для этого форму либо cookie. Если параметры передаются через URL, то они добавляются к адресу вызываемого шаблона через символ амперсант в виде параметр значение.

Например, гипертекстовая ссылка, приведенная ниже, отправляет параметр с именем user id и значением 5 в шаблон example.dbm A HREF cgi-shl dbml.exe?Template example.dbm user id 5 При передаче параметров через форму используются поля формы, которые должны иметь имена, совпадающие с именами параметров, которые требуется передать. Ниже приведен пример передачи параметра, из предыдущего примера используя форму FORM ACTION cgi-shl dbml.exe?Template example.dbm INPUT TYPE HIDDEN NAME user id VALUE 5 INPUT TYPE SUBMIT VALUE Enter FORM Заметим, что при обращении к CGI - программе DBML.EXE должен быть определен стандартный параметр Template, указывающий на конкретный шаблон.

Переменные, занесенные в cookie браузера и переменные окружения CGI доступны в любом шаблоне.

Способы занесения информации в cookie описаны в п.5.11. 5.6