на начало
На главную страницу
Форум   

Статья :: Добавление на сервер обработки управляющей структуры while-endwhile


Добавление на сервер обработки управляющей структуры while-endwhile

Следующий пример показывает использование цикла с условием окончания while-endwhile в соответствующем файле while_endwhile.srf Чтобы сохранить количество выполнений цикла, был добавлен компонент данных типа int, называемый count (счетчик) Этой переменной в конструкторе класса обработчика присваивается начальное значение, равное 0, а затем при каждом обращении к ShouldThisBeDoneAgain ("должно ли это быть сделано снова") значение count увеличивается на единицу Итерация продолжается до тех пор, пока выражение count <= 10 не станет ложным Обратите внимание, что в коде C++ на самом деле цикла с условием окончания while нет, а находится он в соответствующем . srf-файле Кроме того, в классе обработчика имеется два метода замены дескрипторов GetNextNumber (Получить следующее число) и GetNextNumberSquared (Получить квадрат следующего числа) Эти методы соответствуют двум дескрипторам из . srf-файла, появляющимся в цикле с условием окончания while

// Обработчик для проверки цикла с условием
// окончания while - endwhile
[request_handler("while_endwhile")]
class C_while_endwhile_ATLServerAppHandler
{
protected: // защищенный
int count; // счетчик
C_while_endwhile_ATLServerAppHandler() : count(0) // счетчик
{
}
[ tag_name(name="ShouldThisBeDoneAgain") ]
HTTP_CODE ShouldThisBeDoneAgain(void)
{
count++; // счетчик++;
if (count <= 10) // если (счетчик <= 10)
return HTTP_SUCCESS;
else
return HTTP_S_FALSE;
}
[ tag_name(name="GetNextNumber") ]
HTTP_CODE GetNextNumber(void)
{
m_HttpResponse
<< "The square of " << count << " is "; // Квадрат
//счетчика
return HTTP_SUCCESS;
}
[ tag_name(name="GetNextNumberSquared") ]
HTTP_CODE GetNextNumberSquared(void)
{
m_HttpResponse << count*count;
return HTTP_SUCCESS;
}
};

Соответствующий файл while_endwhile.srf отображает таблицу с числами и их квадратами В примере видно, что дескрипторы могут быть вложены так, как требуется Это приводит к тому, что дескрипторы GetNextNumber и GetNextNumberSquared заменяются несколько раз [Комментарии вида <!-- комментарий --> вставлены для удобства — Прим ред.].

<html>
<BODY> <!-- ТЕЛО -->
<Р>{{handler ATLServerApp.dll/while_endwhile}}</P> <!-- обработчик -->
<р>
<TABLE> <!-- таблица -->
{{while ShouldThisBeDoneAgain}}
<TR>
<TD>{{GetNextNumber}}</TD>
<TD>{{GetNextNumberSquared}}</TD>
</TR>
{{endwhile}}
</TABLE> <!-- таблица -->
</P>
</BODY> <!-- тело -->
</html>

Результат можно увидеть, перейдя по адресу http://localhost/ATLServerApp/while_endwhile. srf. Что получается при этом переходе, показано на рис. 12.12.

12.gif

Рис. 12.12. Просмотр while_endwhile.srf


Добавление на сервер обработки управляющей структуры while-endwhile

страницы в данном разделе 
Глава 12. Web-узлы и Web-службы, работающие на основе ATL Server Web-узлы и Web-службы, работающие на основе ATL Server
История технологий, работающих с динамическим содержимым Web Приложения на основе ATL Server
ATL Server основан на интерфейсе прикладного программирования Internet-сервера (ISAPI) Архитектура приложения, использующего ATL server
Создание проекта ATL Server Project (Проект на основе ATL Server) Динамически подключаемая библиотека (DLL) расширения интерфейса прикладного программирования Internet-сервера (ISAPI)
Динамически подключаемая библиотека (DLL) Web-приложения Создание и запуск проекта на основе ATL Server
Добавление в сервер еще одного обработчика Добавление на сервер обработки управляющей структуры if-else-endif
Добавление на сервер обработки управляющей структуры while-endwhile Передача параметров серверному обработчику
Поддержка состояния сеанса Получение доступа к переменным сервера
Обработка форм Службы сеанса
Создание проекта Web-службы на основе ATL Server (ATL Server Web Service Project) Код Web-службы на основе ATL Server: ATLServerWebService.h
Создание клиентской программы, обращающейся к Web-службе Добавление функций в Web-службу на основе ATL Server
Изменение клиентской программы, работающей с Web-службой Передача структур в качестве входных и выходных параметров
Резюме >  


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста