Лабораторная работа: Технологія WebSnap
Буде створена нова процедура AdapterAction1. У інспекторі об'єктів встановимо властивості для процедури (табл 3.1 ).
Малюнок 14
Малюнок 15
Таблиця 1
Свойство | Значение | Описание |
DisplayLabel | OK | Текст для отображения в HTML шаблоне |
ActionName | GetNameAction1 | Имя процедуры для использования в скриптах |
void __fastcall TPageProducerPage2::AdapterAction1Execute(TObject *Sender,
TStrings *Params)
{
FValue = AdapterField1->ActionValue->Values[0];
}
Цей код зберігає значення поля AdapterField1 у змінній FValue. Щоб надати користувачу можливість вводити своє ім'я, в текст Unit2.html після рядка Здравствуйте, уважаемый додамо визначення форми введення:
<FORM NAME="INPUT_NAME_FORM" METHOD=POST> <INPUT TYPE=HIDDEN NAME="__action"
VALUE = "<%=Adapter1.GetNameAction1.AsFieldValue%>"> Введите Ваше имя: <INPUT TYPE=INPUT VALUE="<%=Adapter1.AdapterField1.EditText%>"
NAME= "<%=Adapter1.AdapterField1.InputName%>"> <INPUT TYPE=SUBMIT VALUE="<%=Adapter1.GetNameAction1.DisplayLabel%>" onclick="'INPUT_NAME_FORM.__action.value=<%=Adapter1.GetNameAction1.AsFieldValue%>'"> </FORM>
Побудуємо проект, перенесемо файли Unit1.html, Unit2.html, Project1. dll на Web-сервер і привітаємо себе (мал. 16 ).
Малюнок 16
PagedAdapter дозволяє розділити великий обсяг інформації, що виводиться, по сторінках. Обсяг інформації, що розташовується на одній сторінці, задається у властивості PageSize.
Приклад 4. Парольний доступ до сторінки WebSnap-сервера
Часто потрібно забезпечити обмеження доступу до певних сторінок прикладення. Одним з методів розв’язання даної задачі є парольний захист. Технологія WebSnap дозволяє реалізувати доступ до сторінок за паролем. Для підтримки парольного доступу в головному модулі повинні бути присутніми наступні компоненти:
· WebUserList , який містить список користувачів, їх паролів і прав доступу;
· SessionsService , який містить інформацію про користувачів, що використовують прикладення в даний момент;
· EndUserSessionAdapter , який обробляє події підключення користувача.
Додати ці компоненти можна або на етапі створення модуля сторінки в діалозі Web App Components (див. мал. 3.5 ), або розташувати їх самостійно у вже створений модуль. Скористаймося другим способом і забезпечимо парольний захист сторінки PageProducerPage2, розташувавши вищезгадані компоненти в модулі PageProducerPage1 (мал. 17 ). Для властивості UserItems компоненту WebUserList1 з інспектора об'єктів викличемо редактора і введемо двох користувачів, яким буде дозволений доступ до сторінки: Ellen з паролем admin і Will без пароля (мал. 18 ).
Малюнок 3.17
Малюнок 18