Oracle JDeveloper 11g Release 2 Tutorials - Developing Rich Web Applications With Oracle ADF
Часть 2: Разработка Пользовательского Интерфейса
JavaServer Faces (JSF) - стандартная Java EE технология, которая упрощает Веб -разработку.
В этой части урока вы создадите JSF-страницы для доступа к бизнес-компонентам, которые вы создали в предыдущей части.
показать более или менееПодробнее...
Шаг 1: Создание Страницы JSF
  1. Щелкните правой кнопкой мыши на ViewController проект в Application Navigator и выберите New...

    App навигатор с ViewController проекта выбрана и показывая правой кнопкой мыши меню с Новой опцией.
    Веб-часть приложения, разработанные в отдельный проект под названием " Viewcontroller проекта, который вы создали в предыдущей части этого руководства вы создали Fusion Web-приложений. Показать более или менееПодробнее...
  2. В New Gallery, перейдите к JSF/Facelets под узел Web Tier, и выберите Page. Нажмите кнопку OK.

    Новая Галерея с JSF/Facelets, выбранного в панели и Категории Страниц, выбранной в панели Элементов
  3. В диалоге Create JSF Page , переименовать страницу в DeptEmpPage.jsf: убедитесь, что  переключатель  Document Type установлен в Facelets, и на вкладке "Page Layout" выберите  кнопку  Page Template и выберите Oracle Three Column Layout ( Oracle Три Колонки).

    Создать Страницу диалог с выбора как описано выше.

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

  4. На странице отображается Редактор Дизайна. Шаблон состоит из трех столбцов, но вам нужно только два на странице, так что удалите третий.
    Поместите курсор в крайний правый раздел end и щелкните правой кнопкой мыши, чтобы выбрать Delete.

    DeptEmpPage с курсор позиционируется в правой области и правой кнопкой мыши меню, Удалить параметр выбран.

    С af:pageTemplate, выбранной в панели Structure, в  Property Inspector установите startColumnSize в 350.

    Структура окна с af:pageTemplate выбран и в PI startColumnSize имущественного комплекса до 350.
  5. Добавить некоторые внутренние компоненты на стр.
    В Component Palette раскройте Layout группу компонентов и найдите компонент Panel Accordion(Панель-Гармошка) в разделе Interactive Containers and Headers. Перетащите его в start вашей страницы.

    Дизайн Редактор показывая PanelAccordion компонента была втянута в DeptEmpPage страницы.
  6. Выберите af:showDetailItem panel accordion кот. вы только что добавили на страницу, на предыдущем шаге), в панели Structure и в Property Inspector измените его свойство Text в Departments.

    Структура окна с af:showDetailItem выбран; PI с Текстом недвижимости установлен в Отделов.
  7. Щелкните правой кнопкой мыши на этом новом Departments и выберите  Insert after Show Detail Item - Departments > Show Detail Item. Это добавляет еще одну "складку" аккордеона на вашу страницу.

    Контекстное меню для showDetailItem, с дополнительными Show Detail выбранный Элемент.
  8. Изменить Текст на More Info.

    Дизайн Редактор с новыми showDetailItem выбрать и пи с Текстом набор свойств для получения Дополнительной Информации.

    Это еще один способ добавления компонентов на странице - используя контекстные меню непосредственно в Design Editor (вместо перетаскивания из Палитры Компонентов).

  9. От Layout компонентов, нажмите и перетащите Panel Splitter(Панель Сплиттер) компонент в секцию центр (center facet) вашей страницы.

    Палитра компонентов с Панели Сплиттер выбрать и тащили на страницу.
  10. В Property Inspector (Инспектор Свойств) изменить Orientation (Ориентация) нового splitter на vertical (вертикальная).

    PI для Панели Сплиттер с " вертикального " опция выбрана для Ориентации недвижимости.
  11. Из Layout  перетащите Panel Collection компонент в  first facet в верхней части сплиттера на вашей странице.

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

    Панель коллекция - компонент, объединяющий коллекцию компонентов, таких как таблицы, treeTable и деревья, чтобы отобразить стандартные/приложения меню, панели инструментов и панели состояния.

  12. С использованием Structure , перетащите Panel Tabbed(Панель Вкладок) компонент в second facet сплиттера на вашей странице.

    Палитра компонентов с Панели Вкладок выберите компонент и потащила на второй аспект в окно Структуры.
  13. Дважды щелкните по вкладке DeptEmpPage.jsf в верхней части страницы, чтобы просмотреть его в полном объеме. Страница должна выглядеть как на рисунке ниже.

    Разработка время просмотра всем DeptEmpPage.
  14. Нажмите на значок Save All в JDeveloper меню, чтобы сохранить вашу работу.

Шаг 2: Привязка(Bind) Данных Управления на Странице.

На этом шаге вы свяжете бизнес-компоненты, которые вы создали в Части 1 данного руководства к пользовательскому интерфейсу. Вы можете это сделать простой "drag and drop" операцией; за кулисами ADF Model позаботится и связывании данных для вас.

  1. В Design Editor (Редактор Дизайна) нажмите кнопку Departments аккордеона, чтобы развернуть его.

    DeptEmpPage с курсор на кафедрах аккордеон.
  2. В Application Navigator раскройте Data Controls (Управление Данными), и в нем раскройте AppModuleDataControl чтобы увидеть бизнес-сервисы, которые вы определили в первой части этого руководства.

    App навигатор с AppModuleDataControl выбран в Данные органы Управления аккордеон.
  3. Перетащите DepartmentsView1 контроль данных на аккордеон Departments вашей JSF-страницы. Когда будет предложено выбрать тип компонента, который вы хотите создать, выберите Form > ADF Read-Only Form.

    App навигатор с DepartmentsView1 выбран в Данные органы Управления аккордеон и тащили на Departmenst в Редакторе Дизайна, чтобы быть создана как ADF только для Чтения Форме.
  4. В диалоговое окно Edit Form Fields, отметьте флажок Include Navigation Controls, и нажмите кнопку OK.

    Редактирование Полей Формы диалога с Включают в себя элементы Управления, Навигации флажок и курсор мыши на кнопке OK.
  5. В дереве Data Controls раскройте DepartmentsView1 чтобы увидеть поля, которые он содержит, а также связанный с ним EmployeesView3 контроль для сотрудников в каждом отделе. Обратите внимание, что это "детали" работников для "мастера" факультетов - они связаны, и поэтому работники, которых вы видите в этом представлении( view object) - те, кто принадлежат определенному департаменту, который вы смотрите.

    Управления данными, аккордеон с EmployeesView3 выбран.
  6. Перетащите контроль данных EmployeesView3 на Панель Коллекции ту, что создали в  first facet  PanelSplitter. Создайте ее как ADF Read-Only Table.

    EmployeesView3 выбран в Данные органы Управления аккордеон и тащили на панели коллекции на странице, и, созданных как ADF только для Чтения Таблицы.
  7. В окне Edit Table Columns, выберите Single Row в Row Selection, и отметьте следующие флажки: Сортировка и Фильтрация. Нажмите кнопку OK.

    Редактирование Столбцов Таблицы диалог с Сортировки сообщений и Включить Фильтрацию флажки проверил и курсор мыши на кнопку OK.
  8. Перетащите контроль данных EmployeesView3 еще раз, но на этот раз на ShowDetailItem в компонент panelTabbed во second facet(второй аспект) panelSplitter. Создайте ее как ADF Form.

    Управления данными, аккордеон с EmployeesView3 выбрать и тащили на панели вкладок компонент как ADF Форме.
  9. В диалоговом окне Edit Form Fields, отметить флажок Include Submit Button. С помощью мыши и клавиши Shift выберите три нижних поля из списка: CommissionPCT, ManagerId, DepartmentID и удалите их, нажав кнопку Delete Красный значок X, указывая Удалить в правом верхнем углу диалогового окна. Нажмите кнопку OK.

    Редактирование Полей Формы диалога с 3 последних полей в список выбранных и курсор мыши на кнопку " Удалить".
  10. Нажмите на Save AllSaveAll значок в Них инструментов. в JDeveloper меню, чтобы сохранить вашу работу.
    Щелкните правой кнопкой мыши на странице и выберите Run (Запустить). Это будет компилировать ваш проект, строить его, и стартовать встроенный WebLogic Server, чтобы запустить его. Затем Web-браузер открывает для отображения страницы. Вы можете следить за ходом этих шагов в окне Log (Журнал) в JDeveloper.

    DeptEmpPage с Run выбрать опцию в контекстном меню.
  11. После того как страница отображается в браузере, можно изменить размер страницы, используя сплиттер для отображения данных Министерства. Затем используйте Next кнопка для прокрутки ведомств. Обратите внимание, что данные о сотрудниках измененяются, соответствуя таблице и форме под ней.

    Время работы вид DeptEmpPage
  12. Закройте окно браузера.

Шаг 3: Совершенствовать Бизнес-Сервис

В этих шагах вы улучшите бизнес-услуг путем добавления правил проверки, форматирования и значении по умолчанию.

  1. В Application Navigator в дереве проекта Model , найдите сущность Employees  и дважды щелкните , чтобы открыть его для редактирования.

    Сотрудники лица объекта, выбранного в App Navigator и Employees.xml открыть файл для редактирования.
  2. В окне Employees.xml, нажмите вкладку Attributes и выберите атрибут Salary. Прокрутите вниз страницы, где Validation Rules и нажмите на значок Add , чтобы добавить новое правило проверки.

    Employees.xml открыть файл с Атрибутами странице отображается. Зарплата поле, выбранное и в Правила Проверки tab курсор указывает на пиктограмму Add.
  3. В диалоговом окне  Add Validation Rule выберите Range из  выпадающего списка  Rule Type. Заметьте другие различные типы правил, которые вы можете определить здесь. В поле Operator  убедитесь, что значение параметра установлено в Between, и введите 0 в minimum value и 99000 в maximum value.

    Добавить Правило Проверки диалог с выбирается Диапазон в выпадающем списке для Типа Правила.
  4. Нажмите на вкладку Failure Handling (Обработка Ошибок )для определения сообщения об ошибке, которое будет отображаться в случае сбоя проверки. В  поле Message Text введите сообщение об ошибке, например "Зарплата вне диапазона от 0 до 99 000" и нажмите кнопку OK.

    Добавить Правило Проверки диалог, как и раньше, но отображения Обработка ошибок) с сообщение об ошибке определены.
  5. Затем вы добавляете значение по умолчанию в поле hireDate- так что, когда новый сотрудник нанимается - по умолчанию используется текущая Дата.
    В окне Employees.xml, найдите HireDate атрибут, и выберите его. В Value разделе Property Inspector, найдите Default Value Type и выберите Expression, затем установите свойство Default Value в adf.currentDate. Это позволит обеспечить значение по умолчанию для новой записи установленое на текущий день.

    Employees.xml файл с HireDate, выбранного в Атрибуты вкладку. В режиме по Умолчанию поле Date показывает АПД:currentDate подчеркивается в поле.
  6. Вы также можете указать UI Hints( подсказки ) для атрибутов для управления тем, как они отображаются по умолчанию в формах и страницах, которые их используют. В этом шаге вы добавите маску формата по умолчанию для поля даты Наема. Вы также можете указать, этикетки и подсказки.
    В UI Hints раздел Property Inspector  найти Format Type и выберите Simple Date.

    Как и в прошлом изображение, но, в пи пи Намеки свойства узла расширяется с Простой Дата выделена в Формате Тип недвижимости.

    Установите свойство Format в dd/MMM/yyyy..

    PI в Формате недвижимости установлен в ДД/МММ/гггг.
  7. Запустить страницу еще раз для проверки уточнений, которые вы сделали.

    App навигатор с DeptEmpPage выбрать и Запустить выборе в контекстном меню.
  8. Тестируйте HireDate поле. Заметьте, что как только вы кликните в поле, вам будет предоставлен в пример формат даты (как вы его определили).

    Время работы вид DeptEmpPage с всплывающее сообщение, демонстрируя формат поля HireDate.
  9. Попробуйте обновить поле для одного из сотрудников с недопустимой датой,  как 11/11/123 и обратите внимание на сообщение об ошибке, когда вы нажимаете кнопку " Отправить".

    Время выполнения видом, как и раньше, но с поврежденных дату в поля HireDate. Сообщение об ошибке отображается, указав правильный формат.

    Используйте значок Часы/Календарь рядом с полем для отображения всплывающего календаря и выберите корректную дату.

    Время работы вид, как и раньше с курсор на календарь/часы и календарь отображается для пользователей, чтобы выбрать дату.
  10. Введите в поле Salary значение, например, -9, и нажмите кнопку Submit, чтобы увидеть сообщение об ошибке, созданное вами.

    Время работы вид, как и раньше с -9 Жалованья в поле. Сообщение об ошибке отображается.
  11. Перейдите в отдел 50 и обратите внимание, что теперь вы можете прокрутить данные в таблице "сотрудники". Щелчок на одном из заголовков столбцов в таблице, чтобы отсортировать данные в таблице.

    Время работы вид departments. Курсор мыши на стрелку вниз в поле Фамилия, чтобы включить сортировку по алфавиту.
  12. Щелкните заголовок столбца в таблице, и перетащите его, чтобы изменить его положение в таблице.

    Как и выше, с курсор Электронный адрес столбца в другое место.

    Новый порядок столбцов выглядит следующим образом:

    Время работы вид departments с Электронной почтой столбца в другом месте.
  13. В поле Filter выше столбца LastName (Фамилия ), введите B% и нажмите Enter чтобы отфильтровать таблицу для отображения только тех сотрудников, чья фамилия начинается с буквы B.

    Время работы вид, как и раньше с B% в поле Фильтра в верхней части LastName столбца. 3 отображаются имена, начинающиеся с б.
  14. Экспериментируйте с другим меню и кнопкам и в таблице, чтобы увидеть дополнительные функциональные возможности. Когда вы закончите, закройте окно браузера и возвратитесь в JDeveloper.


Шаг 4: Расширение JSF Страницы.

В следующем шаге мы будем улучшать интерфейс пользователя, изменив таблицу работников и добавив возможность делать выбор столбца, путем переназначения поля в закладке "Employee", и путем привязывания бизнес-компонентов на графическое представление. Вы можете это сделать простой "drag and drop" операцией -  ADF Model обрабатывает данные для вас.

  1. Нажмите на DeptEmpPage.jsf tab, чтобы вернуться на страницу в Редакторе Дизайна. Выберите Employees таблицу в Редакторе Дизайна или в палитре Structure ("Структура"). Установите свойство Column Selection в Single.

    Структура окна с af:Таблица выбрана, и PI для Таблицы с ColumnSelection набор свойств для одного.
  2. В Структуре выберите panelFormLayout что окружает поля сведений сотрудников во вкладке showDetailItem .

    Структура окна с af:panelFormLayout выбран.
  3. В Инспекторе свойств установите Rows  в 5.

    PI для panelFormLayout с Рядами недвижимости установлен в 5.
    При запуске страницы на более позднем этапе, вы увидите, что поля в закладке сейчас в двух столбцах.Показать более или менееПодробнее...
  4. Затем вы добавляете график представления информации на странице; это делается с помощью ADF Data Visualization набора компонентов JSF.
    В Редакторе Дизайна нажмите кнопку More Info аккордеона, чтобы развернуть его. Затем перетащите EmployeesView3 контроль данных в аккордеон More Info и создайте его как Graph.

    Управления данными, аккордеон с EmployeesView3 выбрать и было сброшено на странице в виде Графика.
    На графике можно отобразить в виде статических изображений в формате PNG или интерактивных Flash-компонент.
    Показать более или менееПодробнее...
  5. В Component Gallery выберите Pie (Пирог) из списка графики слева и Pie снова, как тип диаграммы. В нижней части окна, выберите третий Quick Start Layout.

    Компонент Галерея с Пирога, выбранного в панели и Категории Пирог, выбранного в Типы Графиков панели. В-третьих Быстрый Запуск Макета выбирается.

    Затем щелкните OK.

  6. В диалоговом окне Create Pie Graph выберите Salary в поле Pie и перетащите LastName в поле Slices (ломтики). Нажмите кнопку OK.

    Создать круговую диаграмму диалог с заработной платы выбрали для Пирога поле и LastName тянули из списка Имеющихся в Ломтиками области.
  7. Нажмите Save AllSaveAll значок в Них панели инструментов. значок в JDeveloper меню, чтобы сохранить вашу работу, и затем нажмите правой кнопкой мыши на странице и выберите Run из контекстного меню.

    Курсор в DeptEmpPage и Запустить выборе в контекстном меню.
  8. Перейдите в отдел 50. Потому, что вы установили выбор столбца на single - один, обратите внимание на дополнительные поведения таблицы, которые доступны, когда вы выбираете столбец - такие, как Freeze и Wrap. Выберите столбец, затем нажмите кнопку Freeze  (Закрепить). Теперь используйте горизонтальную полосы прокрутки чтобы просмотреть самые правые столбцы, не теряя из виду фиксированный.

    Время работы вид Ведомств стол со стоп-кнопку нажал. Полоса прокрутки отображается в нижней части таблицы, чтобы позволить пользователю просматривать все для колонн на правом конце стола, и в настоящее время из виду.
  9. В отделе 50 расширьте аккордеон  More Info и обратите внимание на график и подсказку, что он показывает, когда вы наведете на него мышкой.

    Время выполнения просмотра страницы с подробной информацией, аккордеон выбран, показывая на графике и связанной с ними информации.
  10. Перейдите на showDetailItem1 вкладку, и обратите внимание, что поля были реорганизованы в две колонки.

    Runtime просмотр страницы с showDetailItem вкладку. Поля были заказаны в двух столбцах.

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

Шаг 5: Дополнительные возможности Бизнес-Сервиса

В этом шаге вы добавите новый бизнес-сервис в приложение для отображения подмножества полей из таблицы Employees, наряду с Департаментом. Вы также можете добавить вычисляемое поле расчета годового заработка работника и список значений поля для названий отделов. Oracle ADF Бизнес-Компоненты позволяют создавать такие сложные обновляемые компоненты декларативным способом.

  1. В Application Navigator нажмите правой кнопкой мыши на demo.model пакет, и выберите New View Object.

    App навигатор с demo.model пакет, выбранные и Новый Вид Объекта chosed из контекстного меню.
  2. На странице Name мастера Create View Object, введите EmpDetails как Name и сохранить Entity object по умолчанию как источник данных (data source).

    Create View Object wizard Шаг 1 с EmpDetails в поле Имя и Entity-Объекта радио-кнопку нажал.

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

  3. На странице Entity Objects мастера выберите сущность Employees и переместите его вправо, а затем выберите сущность  Departments и добавить его также в Selected.
    Обратите внимание, что только у сущности Employees отмечен флажок Updatable  - сущность departments используется только для чтения данных .

    Create View Object Шаг 2: Сотрудников и Подразделений предприятия объекты были курсировал в Доступных

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

  4. На странице Attributes мастера, переместите  следующие Employees атрибуты в Selected:
    EmployeeId, FirstName, LastName, Email, Salary, HireDate, JobId.

    И от сущности Departments переместите следующие атрибуты в Selected:
    DepartmentId, DepartmentName.

    Атрибуты), демонстрирующая атрибуты в Выбранной области.

    Нажмите кнопку Finish для завершения создания представления объекта ( view object ).

  5. Затем вы добавляете расчетный атрибут для view object - атрибут, который отображает годовую  заработную плату работника.
    В Application Navigator дважды щелкните EmpDetails чтобы открыть его.

    App навигатор с новой EmpDetails просмотреть выбранный объект.
  6. Нажмите на вкладку Attributes  и из раскрывающегося списка выберите New Attribute.

    EmpDetails.xml файл с Атрибутами вкладка выбрана. Выпадающее меню на зеленый плюс с Нового Атрибута selected.
  7. В диалоговое окно New View Object Attribute введите AnnualSalary в качестве имени для нового атрибута и нажмите кнопку OK.

    Новый Взгляд Атрибут Объекта диалог с AnnualSalary подчеркивается в поле Имя и курсор мыши на кнопке OK.
  8. На вкладке Details в нижней части списка атрибутов, установите следующие свойства для атрибута AnnualSalary :

    Поле Значение
    Name AnnualSalary
    Type Number
    Default Value Expression (Checked)
    Value Salary * 12
    Недвижимость для нового атрибута..
  9. На следующих шагах вы добавляете список значений в поле, на основе набора значений, хранящихся в другой таблице. В этом случае вы создаете список значений для возможных названий должностей на основе таблицы Jobs.
    В редакторе EmpDetails.xml нажмите кнопку Attributes и выберите JobId атрибут. Нажмите на  вкладку List Of Values в нижней части списка атрибутов.

    EmpDetails.xml с Атрибутами вкладка выбрана. JobId атрибутов, выбранных в списке с курсор, указывая на Список Значений вкладку.
  10. В Списке Значений (List of Values), нажмите на вкладку Add , чтобы создать список значений.

    Список Значений с tab курсор на зеленый плюс для добавления нового ЛОВ.
  11. В  диалоговом окне Create List of Values щелкните на зеленый плюс справа от поля List Data Source. В диалоге View Accessors переместите JobsView на панель  View Accessors.

    Создать Список Значений диалоговое окно с Видом Доступа тревога. JobsView выбран в Доступной View Objects, и курсор указывает на стрелку готов передать ее в поле Зрения Доступа панели.

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

  12. Снова в диалоговом окне  Create List of Values, выберите JobId в Списке Атрибутов.

    Создать Список Значений диалоговое окно, с помощью раскрывающегося списка на Список Атрибутов с курсор на JobId, чтобы выбрать его.
  13. Все еще в диалоговом окне Create List of Values нажмите кнопку UI Hints и выберите  Combo Box with List of Values  как Default List Type и затем переместите атрибут Job Title в Selected.

    Создать Список Значений диалог, как и раньше, но в UI Hints. JobTitle выбран в Доступные панели с курсора со стрелкой готов передать ее в Выбранной области.

    Нажмите кнопку OK. Сохраните вашу работу.

  14. Теперь вы добавляете новый объект, который вы создали в модель данных.
    В Application Navigator дважды щелкните AppModule чтобы открыть его для редактирования и выберите вкладку Data Model (Модель Данных).

    App навигатор с AppModule выбрать и направо, AppModule.xml открыть для редактирования. Модель данных вкладка выбрана.
  15. Нажмите на представление EmpDetails и перенесите его в панель Data Model.
    Сохраните вашу работу.

    Модель данных вкладке AppModule.xml файл. EmpDetails выбран в Доступных View Objects, и курсора на стрелку готов передать ее в Модель Данных панели.
  16. Используйте  Business Component Browser для тестирования новой функции, которую вы только что образовали через представление EmpDetails. В Application Navigator правой кнопкой мыши AppModel и выберите пункт Run чтобы запустить тестер.

    App навигатор с AppModule выбрать и Запустить chosed из контекстного меню.
  17. Дважды щелкните на представление EmpDetails1.

    Бизнес-Компоненты Браузера с EmpDetails1 выбран.
  18. Обратите внимание, что отображается новое расчетное поле AnnualSalary с полями DepartmentId  и DepartmentName. Ни одно из них недоступно для обновления здесь.

    Автобус Кон Браузер, показывающий Стивена Кинга запись служащего.
  19. Используйте выпадающее меню JobId для выбора новой работы.

    Автобус Кон Браузер, как и раньше с LOV_JobId всплывающее отображение списка должностей. Курсор находится над административный Помощник.
  20. Поле заполнено списком работ.

    Автобус Кон Браузера: административный Помощник должность теперь заполняет JobId области.
  21. Закройте окно Business Component Browser, без внесения изменений.

Закладки Печать Развернуть все | Скрыть все
Назад к началу
Copyright й 2011 года, Oracle и/или ее филиалами. Все права защищены.
Hosted by uCoz