Формирование URL-адреса в Apex.

 

Формирование Url-адреса в Apex

Формирование Url-адреса в Apex

Добрый день уважаемые читатели блога Oracle Application Express (Oracle APEX)!

Сегодняшний статья, расскажет вам о том как формируются url-адреса в APEХ и как передать параметры в этих адресах.

В предыдущем посте мы регистрировались на виртуальном сервисе онлайн-обучения и получили доступ к нашему созданному рабочему пространству (Workspace) Workspace_666.
Теперь же стоит рассмотреть как же устроен адрес, 
который пришел на почту администратора рабочего пространства, представляющего следующий вид:

https://apex.oracle.com/pls/apex/f?p=4550:1:::::F4550_P1_COMPANY:WORKSPACE_666

Давайте разберемся, как формируются этот url-адрес в Apex. Общий вид адреса всегда структурирован, и имеет четкий вид. URL-адрес, который отображается для каждой страницы обычно содержит следующее:

  • само расположение Oracle Application Express,
  • адрес Oracle Application Express,
  • идентификатор приложения,
  • номер страницы,
  • идентификатор сессии,
  • другие параметры.

Вкратце, приложение ID представляет собой уникальный номер, идентифицирующий каждого приложения. Аналогично, номер страницы, однозначно идентифицирует каждую страницу. Приложения и страницы могут также иметь буквенно-цифровые псевдонимы. Псевдонимы приложения  являются уникальными в пределах рабочей области страницы и псевдонимы являются уникальными в пределах каждого приложения. Когда мы запускаем приложение, Application Express генерирует номер сессии, который служит ключом для сеанса пользователя.

Все эти параметры url-адреса можно представить в следующем виде, разделенных между собою “:”. Такой подход позволяет определить и передать только те параметры, которые необходимы для работы на каждой из страниц приложения. Не все параметры обязательны, например, параметры сессии, можно и не указывать, но если включена поддержка сессии, то приложение автоматически организует сессию и сформирует url-адрес.

Разбор:

  • https:// – протокол работы («протокол передачи гипертекста»), либо https.
  • apex.oracle.com – ваш домен, хост, сервер, который вы хотите вызвать (может быть локальным).
  • /pls – означает, что мы используем Oracle HTTP Server с mod_plsql. Возможно мы используем и Embedded PL / SQL Gateway, но это уже “прошлое”.
  • /apex – некоторая запись из вашего dads.conf файла (файл настройки, который говорит с какой базой работать) – в случае с EPG только один элемент, указывающий на локальную базу, в случае OAS мы можем иметь несколько записей, каждая указывает на другие базы данных.
  • /f?p= – вызывается процедура “f” и параметр “р” установленный в остальной части строки. Если вспомнить APEX который использует mod_plsql, то это значит, что “f” является гласной процедурой основной точки входа для APEX.
  • AppId – номер или псевдоним приложений. В нашем случае номер – 455.
  • PageId – номер или псевдоним страницы. В нашем случае это первая страница – 1.
  • Session – уникальный идентификатор сессии, может быть нулем для страницы или пустой (тогда APEX создает новую сессию). В нашем случае номер сессии отсутствует.
  • Request – запрос ключевых слов. Этот параметр, представляет собой, в основном свободный текст, который представляется при нажатии на кнопку. Любая кнопка приложения может передавать в этот параметр свое значение, то-ли через процесс, или же регион кнопки.По этому можно идентифицировать с какой кнопки зашли на страницу. Пример, если мы нажимаем на кнопку “Создать” и приложение передает управление другой страницы, то на ней мы можем проверить условие, что если нажата кнопка создать то скрыть тот или иной элемент. Простыми словами, используется для контролирования поведения нашей страницы. В нашем случае пусто.
  • Debug – устанавливается в YES, снизу страницы есть переключатель на Debug-Mode, который показывает отладочные сообщения и метки в окне вашего браузера. Это помогает обнаружить неправильное поведение нашей странице или проблемы с производительностью, и все остальное. Нужный параметр особенно когда мы проверяем что и куда передаем. В нашем случае пусто.
  • ClearCache – мы можем поместить идентификатор страницы или список страниц здесь (через запятую), чтобы очистить кэш для этих страниц (установить состояние сеанса до нуля, …). В нашем случае пусто.
  • Parameters – список передаваемых на страницу параметров разделенные запятыми. В нашем случае мы передаем параметр поля F4550_P1_COMPANY.
  • ParamValues ​​- список передаваемых на страницу значений разделенных запятыми. Каждому присваивается значение соответствующего параметра представленного в ParamNameList (первое значение присваивается первый параметр, второе значение, присвоенное второй параметр, и так далее …). Список значений элементов используется для установки состояния сеанса в URL-адресе. При этом значения не могут включать двоеточия, но могут содержать запятые, если заключены “\”. В нашем случаем мы передаем параметру F4550_P1_COMPANY – значение WORKSPACE_666.
  • PrinterFriendly – устанавливается в YES, переключает страницы в режим PrinterFriendly-Mode (режим печати), использует Printerfriendly шаблон для отображения страницы в режиме печати. Значение PrinterFriendly могут быть использованы для условий удаления элементов, таких как регионы со страницы, для оптимизации вывода на печать.  Если мы используем ссылку ввиде V (“PRINTER_FRIENDLY), тогда Application Express не будет отображать вкладки или панели навигации, и все пункты будут отображаться в виде текста, а не как элементы формы. В нашем случае пусто.

Вот в основном и все, касательно формирования url-адреса в Apex. По мере изучения мы разберемся, что и как передается уже на практике.

Попробуйте, передать дополнительные параметры, для примера сформируйте следующий url-адрес, и посмотрите, что у вас получится:

https://apex.oracle.com/pls/apex/f?p=4550:1:::::F4550_P1_USERNAME,F4550_P1_COMPANY:name,WORKSPACE_666

P.s. Если вам понравилась статья то вы можете просмотреть рекламму, а я хоть тогда с чем-то выпью кофе;-) Спс!

Обновил статью: Юрий

Categories: Основы Apex

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.