Ещё по теме

Комментарии по теме

«Agile-ра­зра­бо­тки для SAP: освойте методику Scrum!»
Александр Биличенко:
интересная статья, но на мой взгляд слишком обременена ежедневными совещаниями. это большие затраты времени
«Новая концепция ра­сши­ре­ний как метод со­ве­рше­нство­ва­ния программ SAP без их мо­ди­фи­ка­ции»
Дмитрий Воронин:
Отличная статья, но желательно, чтобы в статье использовались примеры с реально существующими расширениями в системе SAP.
«Создание объе­ктно­-о­ри­е­нти­ро­ва­нных ко­рпо­ра­ти­вных при­ло­же­ний и отделение доступа к базе данных от при­кла­дной логики при помощи сервисов объектов ABAP»
Дмитрий Воронин:
Следовало бы добавить в статью пример небольшого приложения, которое можно было бы скопировать и использовать как стартовый плацдарм для дальнейшего изучения.

SAP Professional Journal Россия

В данном разделе представлены электронные варианты статей журнала «SAP Professional Journal Россия», который является русскоязычной версией всемирно известного издания «SAP experts»

Понятие маршрутизации при разработке SAPUI5t. Практическое руководство

1880

Ключевое понятие

Маршрутизация и навигация на основе хэштегов позволяют ссылаться на ракурсы приложений посредством URL с добавлением в конце символа хэштега #.

Для приложений SAPUI5 маршрутизация и навигация являются важными темами. Разработчики часто сталкиваются с трудностями при изучении понятия маршрутизации. Теперь SAP рекомендует определять конфигурацию маршрутизации в файле manifest.json. В SAPUI5 предоставляется ряд классов (с соответствующими методами). Несмотря на сложности в освоении, концепция маршрутизации позволяет разработчикам создавать удобные в использовании приложения с простой навигацией в кратчайшие сроки.

Целью данной статьи является описание концепции маршрутизации и способов ее использования в SAPUI5. Вы получит ответы на следующие вопросы:

  • Что представляет собой механизм маршрутизации и как его реализовать?
  • Каковы преимущества использования маршрутизации?
  • Какие наиболее важные классы и методы доступны в SAPUI5 для реализации маршрутизации?

Примечание. 

Термины «хэштег» и «хэш» означают одно и то же.

Начнем с краткого обзора сути маршрутизации и ее преимуществ. Далее рассмотрим классы (и методы), доступные в библиотеке SAPUI5 для реализации маршрутизации в приложениях. Наконец, я представлю вам полностью работоспособное приложение, которое выводит список продуктов на основе Open Data Protocol (OData) из services.odata.org.

Статья предназначена для разработчиков на ABAP и разработчиков SAPUI5. Предполагается, что читатели владеют базовыми навыками программирования в SAPUI5. При создании примера для данной статьи я использовал Web Integrated Development Environment (Web IDE).

Маршрутизация: обзор

SAPUI5 поддерживает маршрутизацию и навигацию на основе хэштегов. При использовании маршрутизации и навигации на основе хэштегов изменение значения хэштега инициирует навигацию из одного ракурса в другой. Другими словами, браузеру не приходится перезагружать все приложение. Обратный вызов релевантного приложения SAPUI5 выполняется в фоновом режиме на основе значения, переданного после символа хэштега (#) в URL.

Приложения SAPUI5 могут использовать маршрутизатор для вызова одного или нескольких ракурсов на основе URL с хэштегом. Маршрутизатор должен уметь интерпретировать URL и выводить ракурсы. Начиная с версии SAPUI5 1.30 компания SAP рекомендует определять маршрутизацию в файле дескриптора (webapp/manifest.json) через маршруты и цели. Базовые шаги для реализации маршрутизации:

  • Для приложения на базе SAPUI5 маршрутизацию (все маршруты и цели) следует указывать в файле дескриптора приложения (webapp/manifest.json).
  • В качестве точки ввода для всех запросов маршрутизации укажите ракурс-оболочку. Также для активации механизма маршрутизации необходимо инициализировать объект маршрутизатора.
  • Определите ракурсы маршрутов и целей на основе текстового шаблона, введенного пользователем после хэштега в URL. Например, если пользователь ввел http:___ #/Productdetail/2, необходимо указать ракурс для вызова и передачи значения 2 с целью просмотра необходимых данных.

Если пользователь щелкает по продукту номер 2 в списке, URL должен автоматически измениться на http:___ #/Productdetail/2.

Важные классы и методы

Теперь вы имеете базовое представление о механизме маршрутизации. Рассмотрим основные классы и методы. Основные классы, участвующие в реализации маршрутизации в приложениях SAPUI5:

  • sap.ui.core.routing.Router. Это один из наиболее важных классов. Он содержит несколько методов для создания инстанций и инициализации инстанции маршрутизатора в вашем приложении, навигации по конкретному маршруту и определения цели по сопоставлению с шаблоном. Имя класса sap.ui.core.routing.Router указывается в конфигурации маршрутизатора в manifest.json как routerclass. (Мы рассмотрим это более подробно ниже.) В табл. 1 указаны некоторые важные методы класса sap.ui.core.routing.Router.
  • sap.ui.core.routing.Route. Помимо sap.ui.core.routing.Router очень важным классом является sap.ui.core.routing.Route. Некоторые полезные методы, предоставляемые этим классом, указаны в табл. 2.
  • sap.ui.core.UIComponent. Класс sap.ui.core.UIComponent также предоставляет ряд методов для маршрутизации и навигации. Некоторые из них представлены в табл. 3.

Табл. 1. Методы класса sap.ui.core.routing.Router

Табл. 2. Методы класса sap.ui,core.routing. Маршрут

Табл. 3. Методы класса sap.ui,core.UIComponent

Полезные методы и функции

getRoute

Этот метод относится к классу sap.ui.core.routing.Router. Он возвращает ссылку на маршрут на основе класса sap.ui.core.routing.Route. Этот метод использует параметр имени релевантного маршрута, например, как показано здесь: myRouter.getRoute(«toProductDetail»).

attachMatched

Метод attachMatched класса sap.ui.core.routing.Route используется для привязки данного маршрута к функции обработчика событий, которая вызывается в случае соответствия события. Он использует в качестве параметр функцию, которую требуется вызвать.

navTo

Относится к классу sap.ui.core.routing.Router. Используется для вызова конкретного маршрута. Первым параметром является имя маршрута, определенное в manifest.json. Другой дополнительный параметр используется для передачи значений в маршрут из значения хэштега, введенного пользователем.

getRouterFor

Этот статистический метод относится к классу sap.ui.core.UIComponent и является одним из наиболее важных методов. Он предоставляет ссылку на инстанцию маршрута из данного контроллера или ракурса. Вот простой пример:

var myRouter = sap.ui.core.UIComponent.getRouterFor(this);.

Здесь он указывает на контроллер или ракурс.

getRouter

Это еще один метод для получения инстанции маршрута. Он относится к классу sap.ui.core.UIComponent и возвращает ссылку на маршрутизатор, созданный UIComponent при указании маршрутов в метаданных маршрута.

initialize

Как ясно из названия, этот метод используется для инициализации маршрутизатора в компоненте. Этот метод относится к классу sap.ui.core.routing.Router.

Вы хотели бы увидеть полную версию статьи?

Если вы являетесь подписчиком журнала SAP Professional Journal, пожалуйста, введите в правом верхнем углу логин и пароль.

Если вы хотите подписаться на журнала SAP Professional Journal, пожалуйста, обратитесь в редакцию или сделайте заказ на сайте.

Правила получения тестового доступа к статьям SAP Professional Journal

Ключевые слова: Разработка / Development
Функциональная область: Информационные технологии / IT, Basis, ABAP
Ролевое назначение: SAP Консультант / Consultant

Любое воспроизведение запрещено.
Копирайт © «Издательство ООО «Эксперт РП» Copyright © 2010 Wellesley Information Services. All rights reserved.