Oracle JDeveloper 11g Release 2 Tutorials - Developing Rich Web Applications With Oracle ADF
Часть 3: Улучшение Интерфейса Пользователя

Веб-приложения, как правило, имеют больше, чем одну страницу в них. В этой части урока вы сможете добавить еще одну страницу - страницу Поиска - для вашего приложения и использовать  ADF Task Flow Diagrammer для определения правил навигации между двумя страницами. Вы сможете использовать характеристики ADF Faces Framework, чтобы добавлять дополнительную функциональность страниц. Наконец, вы создадите многоразовый фрагмент страницы и добавите его в страницу DeptEmpPage.

показать более или менееПодробнее...

Это страница Поиска для приложения.

скриншот страницы Поиска.

Шаг 1: Создать  Поток  Страницы -  Page Flow
  1. В Application Navigator найдите adfc-config файл в узле Page Flows в ViewController проекта. Дважды щелкните его, чтобы открыть его в редакторе. Это то, где вы собираетесь определить навигацию приложения .

    App навигатор с adfc-config выбран.
  2. Перетащите DeptEmpPage.jsf файл из Application Navigator в пустую диаграму adfc-config.

    App навигатор слева от скриншот с DeptEmpPage выбрать и на право, DeptEmpPage отображается в виде диаграммы потоков.
  3. Из Палитры Компонентов (Component Palette) перетащите компонент View  в диаграму adf-config, и переименуйте ее в query. Это по сути новые страницы JSF, который вы собираетесь создать.

    Задача логическая схема две точки зрения, DeptEmpPage и Запросов.
  4. Из Палитры Компонентов выберите Control Flow Case,  а затем нажмите на DeptEmpPage и перетащите линию к странице query.

    Задача схема с двумя видами, а до и контроля расхода случае, если линия, соединяющая два.

    Дайте имя этой линии goQuery.

    Скриншот, как раньше с именем goQuery отображается на поток управления случай линии.
  5. Из Палитры Компонентов, выберите другой Control Flow Case, и затем создайте противоположный поток от query к странице DeptEmpPage. Имя этого потока будет back.

    Как и в прошлом шаг, но со второй управления потоком случае отображения ярлык назад.
  6. Дважды щелкните на query  на диаграмме, чтобы создать новую страницу. В диалоге Create JSF Page примите значение по умолчанию радио-кнопки Facelets , и с выбраннойрадио-кнопкой Quick Start Layout, нажмите кнопку Browse.

    Создавать Страницы JSF диалоговое окно для запроса страницы с курсор на кнопку " Обзор".
  7. В Component Gallery, сохраните по умолчанию категорию One Column, тип и макет, но отметьте Apply Themes в Options панели.

    Компонент Галерея с Одной Колонки, выбранной в Категории Типов и Компоновок стекол. Применять Темы флажок.

    Нажмите кнопку OK и OK снова для создания страницы.

  8. Чтобы добавить функцию поиска сотрудников на странице, откройте дерево Data Controls, и найдите EmpDetails1. (Если вы не видите его, нажмите на кнопку Refresh ).

    Управления данными, аккордеон с EmpDetails1 выбран.
  9. Раскройте EmpDetails1  и раскройте узел Named Criteria ниже его. Выберите All Queriable Attributes и перетащите на новую страницу query.jsf . Создать как Query > ADF Query Panel.

    App навигатор со Всеми Queriable Атрибутов, выбранных в Данных Управления аккордеон. На право, пустая страница с Запросом>АПД Запрос Панели выбран в Создании ящика.
  10. В Data Controls выберите контроль данных EmpDetails1 и перетащите его в центре страницы ниже компонента запроса.  Создать как Form > ADF Form.

    App навигатор с EmpDetails1 выбран в Данные органы Управления аккордеон. На право, Работников страницы с панели Поиска, и ниже его Создать окно с Формой>АПД Форма выбрана.

    В окне Edit Forms Details отметить флажки Include Navigation Controls и Include Submit Button. Нажмите кнопку OK.

    Редактирование Полей Формы диалоговом окне с Навигацией и Представить флажки проверил и курсор мыши на кнопке OK.
  11. Для panelFormLayout не снимая выделения, используйте  Property Inspector для установки Rows в 5.

    Страница поиска с panelFormLayout выбрать и на право, Строки недвижимости, в ГУ со значением 5 выделен.
  12. В окне Structure найдите кнопку Submit, щелкните правой кнопкой мыши и выберите  Insert after af:command:Button - Submit > Button.

    Структура окна контекстное меню Insert после автофокусировки:commandButton - Submit > Кнопка меню выбран.
  13. В Инспекторе свойств изменить Текст новой кнопки на Back и для Action выберите back из раскрывающегося списка. Это обязывает кнопку выполнять навигацию, которую вы задали на диаграме потока страниц.

    PI показывая Кнопку свойства с свойство Action списка и обратно выбран.
  14. Затем вы добавляете операции транзакций на страницу, чтобы позволить вам делать commit и rollback изменении. В Data Controls расширьте модуль на уровне узла Operations  для поиска операции commit и rollback. Перетащите Commit в окно Structure перед First Button. При появлении запроса, выбрать ADF Button.

    Управления данными, аккордеон с операцию Commit); ниже его Структуру окно с курсором указывал выше, чем в Первой командной кнопке


    Создать ящик с АПД нажата Кнопка.
  15. Повторите те же действия для операции Rollback .

    Управления данными, аккордеон с Откат операции); ниже его Структуру окно с курсором указывал выше, чем в Первой командной кнопке
  16. В Инспекторе свойств, для кнопок Rollback и Commit , сбросьте свойство Disabled  в default чтобы сделать обе кнопки всегда доступными для выбора.

    - Пи с выпадающего списка для Инвалидов недвижимость и восстанавливаются значения по Умолчанию выбран параметр.
  17. Дважды щелкните на вкладку Query.jsf, чтобы максимизировать страницы в Редакторе Дизайна(Design Editor). Ваша страница должна выглядеть следующим образом:

    Скриншот страница Запроса.
  18. Нажмите на вкладку DeptEmpPage.jsf  для переключения обратно на страницу. Быстрый способ навигации в этот или любой другой файл с помощью глобального поля поиска в верхнем правом углу JDeveloper, если набрать имя файла там.

    Отдел в окно Поиска в правой верхней части страницы: окно отображает результаты поиска работы - DeptEmpPage выбран.

    Затем просто щелкните на имени файла, чтобы открыть его в редакторе.

  19. В дизайне страницы, расширить аккордеон Departments . Из Палитры Компонентов, выберите компонент Button и перетащите его в аккордеон Departments между кнопками First и Previous . Альтернативно, вы можете щелкнуть правой кнопкой мыши на кнопку First и выберать "insert after > button", чтобы добавить новую кнопку.

    Палитра компонентов с Кнопкой, выберите компонент и курсор перетащив ее на Ведомств странице (слева).
  20. С помощью Инспектора свойств изменить Текст кнопки на Query и Action на goQuery или выберите его из выпадающего списка, если имеется. Это обязывает кнопку для выполнения навигации, которую вы задали на странице схема.

    - Пи с Запроса в свойстве Text anddrop раскрывающемся списке в правом Действий недвижимости с goQuery выбран параметр.
  21. Нажмите на значок Save All SaveAll значок на Них, главная панель инструментов. в JDeveloper меню, чтобы сохранить вашу работу, и затем нажмите правой кнопкой мыши на страницу DeptEmpPage.jsf и выберите Run.

    App навигатор withDeptEmpPage выбрать и Запустить выборе в контекстном меню.
  22. Когда страница отобразится в браузере, щелкните на кнопку Query для перехода на новую страницу. На странице Поиска нажмите Advanced для отображения подробных критериев поиска.

    Runtime просмотра страницы в браузере; наведении курсора на кнопку Advanced.
  23. В поле FirstName принять по умолчанию Starts with (Начинается с), и введите букву G.
    Нажмите Search. В форме ниже, покажется запись для Guy Himuro.

    Как и выше, с G в FirstName поле поиска, и курсор мыши на кнопку Поиска.
  24. Экспериментируйте с формой, сохраняя ваши критерии поиска, создавая более сложные запросы и обновления данных сотрудников. Обратите внимание, как эта форма отображает представление данных, которое соответствует определению, содержащемуся в  view object, созданному вами - в том числе информация о названии отдела, а также список значений для Job id и годовой заработной платы работника.
    Вы также можете вносить изменения в данные и делать commit и rollback ваших транзакций по мере необходимости.

    Когда вы закончите закройте окно браузера.

Шаг 2: Частичное Обновление Страницы  - Partial Page Refresh

На следующих шагах вы познакомитесь с некоторыми из характеристик ADF Faces Framework. Вам предстоит улучшить ваши страницы с дополнительной функциональностью Ajax, используя декларативные возможности развития, предлагаемые ADF Faces компонентами.

    В ближайшие несколько вложенных шагов использовании частичного обновления страницы, предоставляемая ADF Faces. Показать более или менееПодробнее...

    Требования к приложению, означает, что вам нужно добавить автоматическое обновление AnnualSalary поле всякий раз, когда в Зарплата поле обновляется. Вы не хотите, чтобы вся страница обновлялась, когда это произойдет, но использовалось частичное обновление страницы, чтобы просто освежить те области, которые были изменены.
  1. Откройте query.jsf файл в Редакторе Дизайна, если он еще не открыт. Выберите поле Salary. В Инспекторе свойств установите значение Id в sal.

    Страница запроса с заработной платы поле, выбранное; PI-прямо с Id имущества установлен на Сал.
  2. Еще в Инспекторе свойств расширьте узел Behavior и установите AutoSubmit в True.

    Как и для предыдущего изображения, но и показывает AutoSubmit свойство установлено в true.
  3. В окне Structure найдите поле AnnualSalary . (Другой вариант, чтобы попасть на это поле, дважды щелкните на query.jsf вкладку для максимизации окна, а затем найдите поле в Редакторе Дизайна).
    Найдите свойство PartialTriggers в разделе Behavior (Поведение) и нажмите стрелку справа на выбор Edit.

    Структура окна с AnnualSalary поле, выбранное; PI вправо и с PartialTriggers недвижимости выпадающем с Отредактировать параметр выбран.
  4. В окне диалога Edit Property найти поле Salary, переместите его вправо синей стрелкой. Нажмите кнопку OK.

    Редактировать Недвижимости: Частичная Триггеры диалог - inputText-Сэл выбрать и курсор над стрелкой, указывающей вправо.
  5. Нажмите на Save All SaveAll значок на Них, главная панель инструментов. в  JDeveloper меню, чтобы сохранить вашу работу, и запустите (run ) DeptEmpPage.jsf.

    App навигатор с DeptEmpPage выборе играли курсор на Запуск в контекстном меню.
  6. Когда страница отобразится, нажмите кнопку Query в панели Departments.

    Время работы вид Ведомств страницу с курсор мыши на кнопке Query.
  7. На странице Поиска ищите сотрудников, чье имя начинается с  A%.

    Страница поиска с%, в поле FirstName и курсор в поле Поиска.

    Обратите внимание на значения зарплаты и годового оклада.

    Искать страницы, показывающие записи для Александра Khoo.
  8. Обновите поле Salary, а затем выйдите из него. Обратите внимание на немедленные изменения в поле AnnualSalary, как только вы покидаете поле Salary. Однако это единственное поле, которое обновляется (не вся страница).

    Александр Khoo записи с заработной платы обновление - и AnnualSalary также обновление как курсор переместился из заработной платы области.
  9. Закройте браузер.

Шаг 3: Использование ADF AutoSuggest Behavior
В af:autoSuggestBehavior компонент отображает выпадающего списка предлагаемых предметов, когда пользователь вводит в компонент ввода. Показать более или менееПодробнее... Для использования автоматического заполнения в декларативной форме, как вам нужен model-driven список значений  вашей модели проекта, который будет основой для suggestedItems списка. Ранее вы добавили список значений в JobId поле, так что в этом примере вы используете это поле.

  1. В странице query, выберите JobId поле.

    Страница запроса с JobId поле, выбранное.
  2. В Палитре Компонентов раскройте узел Operations, и найдите  Auto Suggest Behavior в разделе Behavior. Перетащите Auto Suggest Behavior операцию на JobId поле.

    Как предыдущее изображение, но с Турн Палитра отображается в правом верхнем и Авто Предлагаю Поведение операции выбран и курсор показывая, опускаясь JobId области.
  3. В диалоге Insert Auto Suggest Behavior введите #{bindings.JobId.suggestedItems}. Нажмите OK.

    Вставить Автоматический Предлагаю Поведение диалог с креплениями Строку, выделенную в Предлагаемые вопросы поле.
  4. Сохраните вашу работу, а затем запустите страницу query.

    App навигатор с запросом страницы, выбрать и Запустить выделена в контекстном меню.
  5. Введите 121 в поле EmployeeId, и нажмите кнопку Search. В записи для Adam Fripp обновите поле JobId, введя в нем 's' . Несколько рабочих мест, начинающиеся с 's' будут предложены.

    Страница поиска с 121 в поле EmployeeId и записи для Адама Fripp отображаться в результатах поля. JobId поле содержит букву 's' и отображает список заданий, начинающиеся с буквы 's'.
  6. Добавьте 'a' после 's' и смотрите, что список предложений изменен соответствующим образом.

    Как предыдущее изображение, но с буквой 'a' после 's' в JobId области. Список показывает, 3 записи все, начиная 'sa'.
  7. Выберите Sales Representative из трех оставшихся вариантов, для заполнения поля.

    Как предыдущее изображение, но с " торговым Представителем " выбранные.
  8. Закройте браузер без сохранения изменений.

Шаг 4: Использование  Drop Down Menus и Operation Components

На этом этапе вы можете добавить раскрывающееся меню на странице и использовать пару ADF Faces компонентов операций, чтобы добавить Javascript операции на страницу - для экспорта табличных данных в таблицы Excel и для создания страницы печати.

  1. В DeptEmpPage.jsf файле щелкните внутри фасетки menus  в панели коллекции окружающую  таблицу "Employees ". Щелкните правой кнопкой мыши и из контекстного меню выберите Insert Inside Facet menus > Menu.

    меню грани в верхней части DeptEmpPage выбрать и Вставить в Грань выборе в контекстном меню.
  2. В Инспекторе свойств установите Текст в My Options.

    PI показывая Тест собственности меню установите в значение 'Мои настройки'.
  3. В Инспекторе свойств раскрыть узел Behavior  и установить Detachable в true.

    PI для меню со Съемной недвижимости, установите в значение 'true'.
  4. В окне Structure, щелкните правой кнопкой мыши компонент меню и выберите  Insert inside af:menu - My Options > Menu Item.

    Структура окно с меню выбрать и Вставить в автофокусировки:меню Мои настройки >Меню, выбираемые в контекстном меню.
  5. В Инспекторе свойств установите свойство Текст нового пункта меню в  Export to Excel.

    PI для пункта меню с Текстом недвижимости, набор для Экспорта в Excel.
  6. С новым пунктом меню  Export to Excel еще выбраным в окне Structure, расширьте раздел  Listeners узла Операции в ADF Faces компонентах в Палитре Компонентов.
    Найдите компонент Export Collection Action Listener и перетащите его на  Export to Excel меню в окне Structure.

    Структура окна и PI рядом с Экспортом CollectionAction Слушателя в процесс тащили на пункт меню Экспорт в Excel.
  7. В диалоговом окне  Insert Export Collection Action Listener щелкните стрелку вниз рядом с ExportedId поле и выберите Edit.

    Вставьте Экспорт Коллекции Действий Слушателя диалог с капля пух меню и Изменить параметр выбран.
  8. В диалоговом окне Edit Property пройдите по структуре страницы, чтобы найти компонент  table - t1 и выберите его. Нажмите кнопку OK.

    Редактировать Недвижимости:ExportedId диалог с Таблица выбрана, и курсор мыши на OK.
  9. Из выпадающего списка Type выберите excelHTML и нажмите кнопку OK.

    Вставьте Экспорт Коллекции Действий Слушателя диалог с excelHTML подчеркивается в поле Типа, и курсор мыши на OK.
  10. Добавьте еще один пункт к меню. В окне Structure, щелкните правой кнопкой мыши на меню компонент Export to Excel  и из контекстного меню выберите  Insert After af:commandMenuItem - Export to Excel > Menu Item.

    Структура окна с меню, выберите элемент и Вставьте после автофокусировки:commandMenuItem - Экспорт в Excel > Элемент Меню, выбранный в контекст.
  11. Установите свойство Текст этого нового меню в Printable Page..

    PI для пункта меню с Печатной Страницы, выделенные в Текстовом поле.
  12. В разделе Behavior под узлом Operations Палитры Компонентов выберите операцию Show Printable Page Behavior, чтобы добавить ее на новый пункт меню. Перетащите ее на новую опцию меню, созданную вами.

    Структура окна и Комп Палитра рядом с открытой Печати Стр. Поведения операции перетащили на Печатной Странице пункт меню.
  13. Нажмите на Сохранить Все SaveAll значок на Них, главная панель инструментов. в JDeveloper меню, чтобы сохранить вашу работу, и затем выберите Run.

  14. Когда страница отображается, щелкните меню.

    Время работы вид DeptEmpPage withcursor движется в Моем меню на новое место на странице.
  15. Затем вызывайте каждое из опции меню, что вы создали, например Export to Excel.

    Мои Варианты меню с Экспортом в Excel меню выбрать опцию

    Вам, возможно, потребуется принять загрузку файла в окне браузера, чтобы иметь доступ к файлу Excel.

    Screebshot tof DeptEmpPage с Internet Explorer сообщение по верху pageand Скачать Файл выбран параметр из меню опций.
  16. Попробуйте опции меню Printable Page.

    Мои Варианты меню с печатной Странице меню опции.

    Страница готова для печати.

    Скриншот просмотра перед печатью страницы.

    Закройте окно браузера.

Шаг 5: Добавление на Страницу CRUD Operation Components 
CRUD (create, read, update, delete – создание, чтение, изменение, удаление)
Ближайшие задачи: рассмотрим некоторые операции с данными, которые JDeveloper предоставляет для просмотра объектов. Вы увидите, как добавить операции Удалить и CreateInsert. Когда пользователь нажимает на CreateInsert кнопку, чтобы вставить новую строку вы хотите таблицу обновить, чтобы отобразить новую пустую строку. Чтобы сделать это, вы снова можете использовать Частичное Обновление Страницы, которая была изучена в пункте 2. Представление объекта  использует связанную переменную, чтобы передать электронный адрес сотрудника в запрос.
  1. Нажмите на вкладку query.jsf для возврата на страницу Query, с открытой панелью "Structure ". В  Data Controls раскройте узел EmpDetails1, а затем узел Operations  ниже его. Выберите операцию CreateInsert .

    Управления данными, аккордеон с EmpDetails1 узла расширена и Операций узла расширены. CreateInsert Работы выбирается
  2. Перетащите операцию CreateInsert из палитры "Структура" на panelGroupLayout в нижнюю грань( footer facet) формы сотрудников. Создайте ее как  ADF Button.

    Управления данными, аккордеон со Структурой окна ниже. CreateInsert операции оттащили в panelGroupLayout в колонтитул аспект страница Запроса. Создать меню с АПД Кнопку опции.
  3. В Инспекторе свойств установите Id кнопки в CreateInsert.

    PI для АПД Кнопка с Идентификатором набора свойств для CreateInsert.
  4. Еще в Инспекторе свойств раскройте узел Behavior и в PartialTriggers выбрать Edit из раскрывающегося списка.

    PI для АПД Кнопку в выпадающем для PartialTriggers недвижимости. Изменить опции.
  5. В окне Редактирования прокрутите страницу компонентов, пока вы не найдете кнопку CreateInsert . Переместите ее в Selected.

    Редактировать Недвижимости: PartialTriggers диалоговое окно, отображающее CreateInsert командной кнопке выбрать и курсора на стрелку, чтобы Трансфер в / из его на Выбранной панели.

    Нажмите кнопку OK. Это действие определяет CreateInsert компонент в качестве триггера, который заставит таблицу обновиться.

  6. Таким же образом добавьте операцию Delete, перетаскивая операцию Delete из EmpDetails1 на panelGroupLayout в низ страницы. Как и прежде, создайте ее как  ADF button

    Управления данными, аккордеон с EmpDetails1 узла и Операций узла расширена и операции Удаления выбранные.
  7. Две кнопки отобразятся в нижней части страницы query.

    Время разработки вид Запроса страницы с две новые кнопки в правом нижнем углу.
  8. Сохраните вашу работу, а затем запустите Query страницу.

  9. Когда появится страница  введите F% в поле LastName  и нажмите кнопку Search. Первая запись F% работника будет показана.

    Время работы вид Запроса страницы с F% в LastName и курсор мыши на кнопку Search, и Пат Фэй работник записи отображаются.
  10. Нажмите на кнопку CreateInsert. Страница обновися, и поля внизу будут очищены (за исключением поля HireDate, согласно установке по умолчанию на текущую дату), так что новая запись может быть вставлена.

    Время работы вид Запроса страницы с F% в LastName, как раньше. Курсор над CreateInsert кнопку, и Пат Фэй рекорд был обновлен, чтобы показать пустые поля, позволяющие новый рекорд, который будет вставлен.

 

Шаг 6: Создание Бизнес-Услуг на основе Запроса(SQL Query) и Параметров
На этом шаге вы создаете представление объекта, что позволяет конечным пользователям искать имя работника по его адресу электронной почты. Представление объекта использует связанную переменную для подстановки, чтобы передать электронный адрес работника в запросе.
  1. В  Application Navigator найдите demo.model пакет и щелкните правой кнопкой мыши, чтобы выбрать New View Object....

    App навигатор с demo.model пакет, выбранные и Новый Вид Объекта, выбранного в контекст меню.
  2. В мастере Create View Object установките Name в EmpByEmail и выберите SQL Query радио-кнопку в качестве источника данных. Нажмите кнопку Next.

    CreateView Объекта мастер Шаг 1. EmpByEmail hightlighted в поле Имя. Курсор на кнопке Next (далее).
  3. В Шаге 2 мастера Create View Object , введите следующий запрос:

    select first_name,last_name from employees where email=:p_email

    Знак ':' перед p_email означает, что она является переменной, которая будет передана в запрос.

    Нажмите на кнопку Test and Explain, чтобы подтвердить ваш запрос.

    Скриншот часть Шагу 2 мастера, показывающие Select и результаты коробка из-тестирования в заявлении. 'Запрос успешно выполнен' сообщили в Результате окне.

    Нажмите кнопку Close и нажмите кнопку Next.

  4. В пункте 3 Create View Object мастера, нажмите кнопку New для создания новой bind переменной. Установите Name в p_email.

    На шаге 3 мастера с p_email переменной подстановки подчеркивается в поле Имя Переменной. Буквальное радио-кнопка выбрана, и Обновляемых флажок.

    Нажмите на вкладку Control Hints и установите Label Text в Email или Электронный адрес.

    На шаге 3 мастера, как раньше, но с Контролем Hints выбран. Адрес электронной почты выделен в Текст Метки поля.
  5. Нажмите кнопку Next несколько раз, чтобы принять все по умолчанию, пока вы не достигнете 8 шага мастера.
    Отметьте здесь флажок Add to Application Module, чтобы включить ваше новое представление в  модель данных.
    Нажмите Finish.

    Шаг 8 мастера с Добавить в Модуль Приложения флажок.
  6. Сохраните вашу работу, а затем запустите Business Component Browser, чтобы протестировать новый view. Дважды щелкните на новом view EmpByEmail1 и когда будет предложено вставить значение для переменной, введите SKING и нажмите OK чтобы получить результаты для этого адреса электронной почты.

    Запуск Бизнеса Компонент Тестер. Показать более или менееПодробнее... Щелкните правой кнопкой мыши на AppModule узел в Application Navigator и выберите Run из контекста.
    Автобус Турн Браузер с EmpByEmail выбран; Переменные Связывания, всплывающее окно с SKING подчеркивается в поле Значение и курсор находится на кнопке OK.


    Автобус Турн браузер показывает результаты кнопки OK в предыдущее изображение: FirstName и LastName поля имеют значения отображаются на электронной почты значения, введенного ранее.
  7. Чтобы попробовать другое значение, нажмите кнопку Edit Bind Variables.

    Автобус Кон Браузер с курсор, указывая на иконку Изменить в панели инструментов. При нажатии на Переменные Связывания, тревога вновь ждет новый адрес электронной почты, который необходимо ввести в поле Значение.

    Закрыть Business Component Browser.

Шаг 7: Создание Многоразового Фрагмента Страницы
На этом шаге вы создаете  фрагмент страницы многоразового использования. Вы затем  вставите представление объекта, созданное вами в последнем шаге, во фрагмент страницы, и, наконец, вы используете  фрагмент страницы на странице DeptEmpPage.
  1. Сначала создадим новый поток задач, специально для этой страницы.
    В Application Navigator нажать правой кнопкой мыши на проект ViewController и выбрать New...

    App навигатор с ViewController проекта выбрана и Новое меню выбрать опцию в контекстном меню.
  2. В Web Tier > JSF/Facelets выберите категорию ADF Task Flow (Поток Задач).

    Новая Галерея с JSF/Facelets, выбранного в Категории меню (панель слева) и АПД Потока Задач, выбранных в Элементы панели (справа).

    Нажмите кнопку OK.

  3. В диалоговом окне Create Task Flow установить File Name в search-email-flow.xml.
    Убедитесь, что флажки Create As Bounded Task Flow и Create with Page Fragments оба отмечены.

    Создать Поток Задач в диалоге с search-email-flow.xml выделенный в поле Имя Файла, Создать, как Ограниченная Задача Поток и Создать с Фрагментов Страницы, флажки, оба проверил.

    Нажмите кнопку OK.

  4. В Редакторе Дизайна перетащите компонент View  из Палитры компонентов на пустую диаграмму и именуйте его searchEmail. Вы используете только одну страницу в этом потоке, но вы можете иметь потоки задач связанные с несколькими страницами и также включать их в другие JSF страницы.

    Задача схема withone вид - имя,searchEmail выделен.
  5. Дважды щелкните на новом компоненте searchEmail для создания фрагмента страницы.
    Примите значения по умолчанию в диалоговом окне, которое отображается, убедитесь, что имя файла searchEmail.jsff. Это создает страницу как фрагмент страницы, который может быть включен в другие JSF страницы. Нажмите кнопку OK.

    Создать АПД Странице Фрагмент диалоговое окно с Именем Файла, searchEmail.jsff выделен, а курсор мыши на кнопке OK.
  6. Пустая страница отображается в Редакторе Дизайна. Раскрыть аккордеон  Data Controls и, если необходимо, щелкнуть на кнопку Refresh, чтобы убедиться, что новый контролер данных EmpByEmail появился в списке.

    Управления данными, аккордеон с EmpByEmail1 узел выбран.
  7. Раскройте новый EmpByEmail1 и узел Операции под ним. Выберите ExecuteWithParams операцию. Вы собираетесь использовать эту операцию, чтобы выполнить запрос к этому представлению, передавая ему необходимые параметры.

    Как и для предыдущего изображения, но EmpByEmail узла расширяется и Деятельности суб-узел также расширены. ExecuteWithParams операции выбран.

  8. Перетащите операцию ExecuteWithParams на вашу новую страницу, и создайте его в качестве ADF Parameter Form....

    App Navigaotr с ExecuteWithParams эксплуатации, выбранного в Данных Управления аккордеон и курсор в searchemail фрагмент страницы, отображение Создать окно и курсор над ADF Parameter Form.
  9. В диалоговом окне Edit Form Fields измените display label для p_email от значения по умолчанию на Email. Нажмите кнопку OK.

    Редактирование Полей Формы диалога с p_email поле, выбранное и Метки поля изменен на Электронный адрес.
  10. В Редакторе Дизайна страницы, нажмите кнопку ExecuteWithParams кнопку и с помощью Инспектора свойств измените Текст на Find Details.

    searchEmail.jsff открыть в Редакторе дизайна с ExecuteWithParams нажата кнопка. PI показывает свойства с Текстом свойство), чтобы Найти Детали.
  11. Из дерева Data Controls, перетащите EmpByEmail1 на страницу под кнопку. Создайте его в качестве Form > ADF Read-only Form...

    App навигатор с EmpByEmail выбран в Данные органы Управления аккордеон. Дизайн Редактор показывает мнение было сброшено на странице фрагмент как ADF только для Чтения Форме.
  12. Примите значения по умолчанию, представленные в диалоговом окне Edit Form Fields и нажмите кнопку OK. Сохраните вашу работу.

    Редактирование Полей Формы диалога с курсор мыши на кнопке OK, чтобы принять значения по умолчанию.

    Страница должна выглядеть так:

    Дизайн, время просмотра страницы фрагмента.
  13. Новый связанный поток задач теперь содержит фрагмент страницы; далее вы включите полностью  связанный поток задач внутрь другой страницы JSF.
    В Application Navigator найдите файл DeptEmpPage.jsf и откройте его в Редакторе Дизайна, если он еще не открыт. Из Палитры Компонентов раздела Layout перетащите компонент Separator в левый  аккордеон страницы DeptEmpPage.jsf ниже формы Departments.

    Палитра компонентов с Сепаратором выбрать и курсор роняя компонент на кафедрах страницы.
  14. Добавим новый поток, созданный вами, как регион к существующим страницам.
    Из Application Navigator перетащите search-email-flow.xml файл в левый аккордеон на  DeptEmpPage.jsf страница под новый separator. Создать его как Region.

    App навигатор с поиска-электронный адрес-поток выбран и курсор позиционируется на Ведомств страницу, чтобы падение потока в регионе.
  15. Ваша страница должна выглядеть так, как на скриншоте ниже.

    Время разработки вид готовой страницы.
  16. Сохраните вашу работу, а затем запустите обновленный DeptEmpPage.jsf.
    Когда страница отображается в браузере тестируйте новую функциональность, вводя значение email  в поле Email и нажимая кнопку Find Details.

  17. Имя сотрудника возвращается.

    Время выполнения изображение так, как прежде с FirstName и LastName выводимая по электронной почте представлены.
Резюме
В этом учебнике вы построили небольшое Web-приложение, которое взаимодействует с базой данных. Вы научились: Чтобы узнать больше о создание многофункциональных Веб-приложений, обратитесь к:

Закладки Печать Развернуть все | Скрыть все
Назад к началу

Вы нашли эту страницу полезны?



Copyright й 2011 года, Oracle и/или ее филиалами. Все права защищены.
Hosted by uCoz