< Назад | Далее >

Урок 1.6: Создание и обновление страницы

На этом этапе уже созданы страницы, позволяющие просматривать и создавать списки объявлений. В этом упражнении создается страница, с помощью которой пользователи могут обновлять и удалять списки. Страница обновления выглядит аналогично странице создания; различие заключается в том, что на странице обновления в полях ввода отображаются данные из существующей записи, выбранной для изменения.
Об этой задаче

Сначала необходимо создать реляционную запись, представляющую существующую запись из базы данных. Затем для этой реляционной записи создается форма обновления JavaServer Faces и после нескольких дополнительных изменений страница будет готова к тестированию.

Создание реляционной записи обновления

  1. Откройте файл update_record.jsp, дважды щелкнув на нем на панели Структура предприятия.
  2. Удалите текст по умолчанию Добавьте содержимое.
  3. На панели Палитра разверните блок Данные и службы, дважды щелкнув на нем.
  4. Перенесите компонент Реляционная запись SDO из палитры в пустую информационную область. Откроется окно Добавить реляционную запись.
  5. В поле Имя введите update_record.
  6. В области Создать управляющие элементы для выберите Обновление существующей записи.
  7. Убедитесь, что выбрана опция Добавить управляющие элементы ввода-вывода для отображения реляционной записи на web-странице.
  8. Нажмите кнопку Далее.
  9. В поле Таблица разверните запись W5SAMPLE и выберите ADS.
  10. Нажмите кнопку Далее. Откроется окно Добавить реляционную запись.

Фильтрация результатов

Реляционную запись можно связать только с одной записью из базы данных. По этой причине таблицу базы данных необходимо отфильтровать таким образом, чтобы в ней осталась только одна запись. (В предыдущем упражнении такое требование отсутствовало, поскольку при создании новой записи фильтрация результатов из базы данных не требуется.) Поскольку каждой записи базы данных присваивается уникальный ИД, в качестве критерия фильтрации применяется конкретный ИД.
  1. На странице Добавить реляционную запись приведен список ссылок на задачи. В разделе Задачи выберите Фильтрация результатов. Откроется окно Фильтры, в столбце Фильтр которого показано условие фильтрации по умолчанию ID = #{param.ID}. Окно Фильтры выглядит следующим образом:
    Окно Фильтры.
    Этот код фильтрует записи базы данных и отображает только запись с указанными ИД. Дополнительную информацию об этом условии вы получите в разделе Добавление действия строки позже в этом упражнении. Нажмите кнопку Закрыть.
  2. Нажмите кнопку Далее. Откроется страница Настроить управляющие элементы данных.
  3. В области Отображаемые поля отмените выбор переключателей рядом со всеми полями, которые не следует показывать в форме ввода:
    • ИД
    • ГЛАВНАЯ КАТЕГОРИЯ
    • НАЗВАНИЕ
    • ОПИСАНИЕ
    • ЦЕНА
    • ТЕЛЕФОН
  4. С помощью кнопок Вверх и Вниз расположите поля в следующем порядке:
    • ИД
    • НАЗВАНИЕ
    • ОПИСАНИЕ
    • ГЛАВНАЯ КАТЕГОРИЯ
    • ЦЕНА
    • ТЕЛЕФОН
  5. Для поля ИД в выпадающем списке столбца Тип управляющего элемента выберите Показать номер. Пользователи могут просматривать ИД записи, однако не могут вносить в него изменения. Преобразование поля ИД в поле вывода позволяет избежать неполадок, связанных с совпадающими ИД.
  6. Щелкните на пункте Опции. Откроется окно Опции. Убедитесь, что опция Кнопка отправки выбрана. В поле Метка введите Обновление. Нажмите OK. Окно Добавить реляционную запись выглядит следующим образом:
    Окно Добавить реляционную запись.
  7. Нажмите кнопку Готово для добавления на страницу формы обновления, как это показано ниже:
    Страница с формой обновления.

Программирование кнопок удаления и обновления

Снова следует добавить код, направляющий пользователя на страницу all_records.jsp для отображения списка записей с измененной записью.
  1. Правой кнопкой мыши щелкните на созданной кнопке Обновить и выберите Свойства.
  2. Нажмите кнопку Добавить правило. Откроется окно Добавить правило навигации.
  3. В выпадающем списке Страница выберите all_records.jsp. В поле Область применения правила выберите опцию Только это действие. Убедитесь, что в этом поле указано значение #{pc_Update_record.doUpdate_recordUpdateAction}. Нажмите OK.
  4. Повторите шаги 1-3 для настройки кнопки Удалить. Убедитесь, что в поле Область применения правила указано значение #{pc_Update_record.doUpdate_recordDeleteAction}
  5. Сохраните страницу. Рекомендуется запустить на тестовом сервере файл new_record.jsp, чтобы изменить запись в базе данных и проверить возврат к странице all_records.jsp.

Добавить действие строки

Теперь вы создадите добавите действие строки в таблицу на странице all_records.jsp, так что пользователь сможет выбрать запись базы данных для обновления. Параметр #{param.ID} представляет ИД обновляемой записи. Когда пользователь выбирает строку, ИД записи отправляется на страницу update_record.jsp в качестве параметра #{param.ID}. Затем в отфильтрованной реляционной записи, добавленной на страницу update_record.jsp, отображается только указанная запись.
  1. На панели Структура предприятия дважды щелкните на файле all_records.jsp. Файл будет открыт в редакторе. Щелкните по таблице с данными. Откройте панель Свойства.
  2. В панели Свойства щелкните на вкладке Действия строки в разделе hx:dataTableEx в списке тегов HTML.
  3. Выберите Добавить действие, выполняемое в случае щелчка на строке. Откроется окно Настроить действие строки. Выберите Щелчок на строке отправляет запрос на сервер с информацией из строки в качестве параметров и нажмите кнопку OK. В таблицу данных добавляется новый столбец.
  4. В панели Свойства выберите вкладку hx:requestRowAction.
  5. Нажмите кнопку Добавить правило. Откроется окно Добавить правило навигации.
  6. В выпадающем списке Страница выберите update_record.jsp. В поле Область применения правила выберите Только это действие. В поле Только это действие автоматически указывается значение #{pc_All_records.doRowAction1Action}, созданное при добавлении действия строки. Нажмите OK. Если в поле не было автоматически указан этот метод, то введите его имя и добавьте следующее определение в ресурсы ClassifiedsTutorial/Java: src/pagecode/All_records.java:
    	public String doRowAction1Action() {
    				return "";}
  7. В панели Свойства выберите вкладку Параметр в разделе hx:requestRowAction. Нажмите кнопку Добавить параметр и введите ИД в поле Имя. Параметр ИД необходимо связать со столбцом ИД. Щелчок на строке, параметр которой связан со столбцом ИД списка данных, позволяет задать параметр запроса в качестве ИД записи в списке.
    1. Выберите Значение и нажмите кнопку Выбрать объект данных страницы .
    2. На вкладке Объект данных разверните all_recordlist (Service Data Object) > all_recordlist (ADS) и выберите select ID (java.lang.Integer).
    3. Нажмите OK.
Результат
Теперь щелкнув на строке, пользователь сможет обновить объявление. Сохраните файл и проверьте страницу. Обратите внимание, что сначала следует открывать страницу all_records.jsp, поскольку на ней расположена ссылка на страницу update_record.jsp.

Контрольные точки урока

Вы закончили урок 1.6. В этом уроке вы научились создавать Web-страницы, позволяющие обновлять записи базы данных.
< Назад | Далее >

Комментарии