Создание простого приложения часть 2 – Region
- By Юрий
- 5 July, 2013
- 6 Comments
- Просмотров: 14829
Добрый день уважаемые читатели блога Oracle Application Express (Oracle APEX)!
Мы продолжаем цикл статей по созданию мини портала, используемого для хранения данных. Сегодня мы продолжим рассматривать дерево Page Rendering, и остановимся на регионах и их элементах.
И так мы рассмотрели процесс Get Username Cookie в Before Header. Теперь рассмотрим, что представляет из себя Region.
Region – является областью на странице, которая служит в качестве контейнера для содержания информации. Т.е. некий “ящик” который можно напичкать элементами отображаемыми на странице. Каждая страница может иметь любое количество регионов. При создании региона мы можем управлять его отображением через определенный шаблон региона. Шаблон управляет видом региона, размером, определяет, есть ли границы или цвет фона, типами шрифтов и т.п. Шаблон также определяет стандарты для любого размещения кнопок, расположенных на позиции в регионе.
В нашем регионе в области Body – расположен регион Login. Если через контекстное меню правой кнопкой мыши зайти в редактирование то мы увидим следующее его свойства.
Как мы видим данный регион использует шаблон Form Region, который в свою очередь отображается на позиции Page Template Body (3) общего шаблона страницы Login, у которой есть собственные позиции расположения регионов.
Забегу наперед – сама структура шаблона Form Region, отображена следующим образом:
В позицию #BODY# – при динамической генерации страницы, будут вставлены те элементы, которые указаны в в регионе Login – элементы P101_username и т.п.
Т.е. Form Region – шаблон региона Login элементы которого мы в него добавили(кнопки, различные поля и т.п.) Page Template Body (3) – позиция в общем шаблоне Login. Пример самого шаблона именно страницы Login представлен в следующем виде:
Как видим в шаблоне самой страницы Login есть те позиции(#REGION_POSITION_02#,#BOX_BODY#, #REGION_POSITION_03#), которые выбраны в нашем регионе Login. Привязка страницы к шаблону происходит в поле Page Template самой страницы. Пример – страница Login привязана к шаблону Login.
Конечно в будущем желательно не путать и называть каким-либо другим образом регионы и страницы.
И так мы познакомились с регионом, теперь необходимо узнать, какие элементы содержит этот регион. В нашем случае, используются три элемента: два текстовых поля, и одна кнопка.
Зайдя через контекстное меню в каждый из элементов, выделим вкратце следующее:
- Name – определяет имя этого пункта. Рекомендуется, чтобы имена элементов не были слишком длинными.
- – выберем, как этот элемент может быть отображен. В нашем случае для текстового поля ввода используется – Text Field. Вообще существует более 20 видов элементов. Для кнопки, создается свой отдельный тип, Page Item Button.
- Label – название, отображаемое на экране.
- Action (для кнопки при её нажатии) – действия при нажатии кнопки могут быть разными, например “Submit Page, Redirect to Page in this Application, Redirect to URL, Defined by Dynamic Action”.
В нашем случае это статическое значение – LOGIN, которое будет передано той-же странице в запросе REQUEST. Более подробно о функции – apex.submit(). При выполнении нажатия на кнопку, указывается специальный идентификатор, называемый :request . Соответственно по этому идентификатору распознаётся с какой кнопки произошла отправка данных. Тогда условие на нажатия кнопки можно переписать в эквивалент условию sql expression типа :request = ‘LOGIN’.
Если посмотреть POST-запрос то мы увидим этот идентификатор:
/apex/wwv_flow.accept p_flow_id=666&p_flow_step_id=101&p_instance=15125238531250&p_page_submission_id=7546437450615&p_request=LOGIN&p_arg_names=12375805589100603&p_t01=admin&p_arg_names=12375915881100608&p_t02=admin_lib&p_md5_checksum=&p_page_checksum=CA
В дальнейшем мы более детально разберемся в работе этого идентификатора. Теперь мы уже знаем, что представляет из себя регион и какие элементы входят в него. В следующих статьях мы поговорим уже о Page Processing и о очередности выполнения процессов в приложении.
P.s. Если вам понравилась статья то вы можете просмотреть рекламму, а я хоть тогда с чем-то выпью кофе;-) Спс!
Обновил статью: Юрий
Good breakdown, you assisted me in understanding this topic much easier. Thank you plenty for the great information.
You’re welcome 😉
Thank you for reading!)
Спасибо. После прочтения “Oracle® Database 2 Day + Application Express Developer’s Guide” очень был нужен материал, который бы “доразжевывал” начальные знания по этой тематике.
Всегда пож-та, спасибо за отзыв!;-)
Всегда пож-та, стараюсь как могу для моих читателей)