Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример P15.






Обработка запросов пользователей с использованием %request

Например, требуется выполнить поиск клиента по фамилии, для этого создаетсястраница «P15.csp».

Код страницы P15.csp приведен ниже:

< BODY>
< form name=" Search" Action=" P15S.csp" >
Поиск клиента по фимилии:
< input type=" Text" name=" SearchFor" >
< input type=" submit" value=" поиск" >
< /form>
< /BODY>

При нажатии на кнопку " submit" («поиск») открывается web-страница PersonSearch.csp, которой передается объект %request, метод Get() которого позволяет получить значение поля " SearchFor". При загрузке страницы выполняется запрос Q3, содержащий параметр. Текст запроса Q3 приведен ниже:

Query Q3(P1 As %String) As %SQLQuery(CONTAINID = 1)
{
SELECT %ID, FIO, DR FROM Person
WHERE (($Find(: P1, FIO, 1)> 0) and (Length(: P1)=Length(FIO)))
ORDER BY FIO
}

Код страницы P15S.csp приведен ниже:

< BODY bgcolor=" #BBFFFF" >
< csp: query name=" query3" classname=" MPK.Person"
queryname=" Q3" P1='#(%request.Get(" SearchFor"))#'>
req= #(%request.Get(" SearchFor"))# < br>
< csp: while Condition=" query3.Next()" >
Фамилия: #(query3.Get(" FIO"))# < br>
Дата рождения: #(query3.Get(" DR"))# < br>
< a href='P15.csp'> Назад< /a>
< br>
< /csp: while>
< /BODY>

5.6. Объект %session

При активизации сеанса работы с пользователем создается переменная %session, объект класса %CSP.Session. В объекте %session могут храниться переменные, ассоциированные с пользователем, используемые для управления сеансом. Например, с помощью сессии можно передавать значения переменных между страницами.

Одна из основных трудностей, при разработке Web-приложений состоит в том, что при работе по протоколу HTTP соединение между обозревателем и сервером прекращается сразу после окончания вывода очередной страницы. Таким образом, мы не можем определить, какие действия выполнял пользователь на предыдущих страницах Web-приложения. Благодаря использованию объекта %session появляется возможность передать информацию от одного запроса к другому, от одной страницы к другой.

Необходимая информация сохраняется в объекте %session в виде пар «имя/значение» и может использоваться на любой другой странице. Например, сохранение значения ”Admin” переменной “Name” в объекте %session выполняется с помощью метода Set объекта session:

Do %session.Set(“Name”, ”Admin”)

Позже, в ходе обработки страницы, можно получить значение Name следующим образом: %session.Get(“Name”).

Объект %session содержит ряд свойств, методов и параметров, которые помогают разработчику управлять сессией. Некоторые полезные свойства и методы объекта %session приведены в табл. 5.10. Ознакомиться с документацией объекта %session класса %CSP.Session можно по адресу:

(https://127.0.0.1: 1972/apps/documatic? CLASSNAME=%25CSP.Session).

Таблица 5.10.

Имя Возвращаемое значение Функция Аргумент(ы)
Count %Library.Integer Кол-во значений под заданным именем (поля данных) Имя поля данных
Get Соответствующий аргумент Извлекает из объекта %session значение заданного поля данных (или пустую строку, если значение отсутствует) Имя поля данных
Kill нет Удаляет поле из объекта Имя поля данных
Next %Library.String Навигация по полям объекта, возвращает имя следующего поля Имя предыдущего поля данных
Set нет Сохраняет измененное значение поля данных, либо создает новое поле Имя поля данных

 

Для иллюстрации возможностей CSP по поддержке сессии выполним следующее простое упражнение. Создадим CSP-страницу Session.csp, задающую значение сессионной переменной Page. Страница Session1.csp вызывается со страницы Session.csp и отображает значение сессионной переменной Page.

Код страницы Session.csp:

< script language=" Cache" runat=" server" >

// назначить переменной значение

do %session.Set(" Page", 45)

< /script>

Страница 1

Назначает значение #(%session.Get(" Page"))#

сессионной переменной Page

< a href=" Session1.csp" > Страница 2< /a>

< /BODY>

Код страницы Session1.csp:

< HTML> < HEAD> < TITLE> Использования session < /TITLE> < /HEAD>

< BODY>

Страница 2

Получает значение сессионной переменной Page, равное

#(%session.Get(" Page"))#

< /BODY>

< /HTML>

Резюме

Технология CSP (Caché Server Pages) основной инструмент создания Web-интерфейса для информационных приложений, написанных на Caché. Технология CSP предлагает изящные средства создания быстродействующих, хорошо масштабируемых Web-приложений за короткое время.

При создании CSP-файла можно исползовать:

- выражения;

- скрипты, выполняющие код Caché или код JavaScript;

- серверные методы;

- СSP-теги;

- стандартные теги HTML.

Теги Caché имеют следующий общий синтаксис:

< CSP: XXX …>

где ХХХ – это имя тега. Теги обеспечивают разнообразные функциональные возможности.

Основные тегами CSP являются:

- < CSP: Object>

- < CSP: Query>

- < CSP: Method>

- < CSP: If>

- < CSP: Loop>

- < CSP: While>

 

Вопросы для самопроверки

1. Что такое «технология CSP» в Caché?

2. Как взаимодействует обозреватель и СУБД Caché?

3. Что такое «выражения Caché»?

4. Какие скрипты можно использовать в CSP-страницах?

5. Какие основные теги CSP вы знаете?

6. Для чего нужен тег < CSP: Object>?







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.