Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2013_1 / КСТ / Разработка веб-приложений.pdf
Скачиваний:
160
Добавлен:
23.02.2015
Размер:
2.74 Mб
Скачать

Упражнения

1.Проследите движение информации об имени города при добавлении персоны.

2.Проанализируйте правила формирования и использования списка выбора.

19.5.Страница для редактирования записей с внешними ключами

Как и для добавления записей, страница редактирования имеет точно такую же

структуру и отличается обработчиками командных кнопок.

Файл person_mod.xhtml

<?xml version="1.0" encoding="UTF-8"?>

<!--

To change this template, choose Tools | Templates and open the template in the editor.

-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

xmlns:h="http://java.sun.com/jsf/html"

xmlns:f="http://java.sun.com/jsf/core"

xmlns:ui="http://java.sun.com/jsf/facelets"

>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

<title>Редактирование персоны</title> </head>

<body>

<f:view>

<table border="1" width="100%"> <tr>

<td>

<h:form>

<table>

<tr>

<td> <h:outputLabel value="Ключ:#{personsView. person.idPerson}"/> </td>

<td> <h:inputHidden value="#{personsView.per-

son.idPerson}"

/> </td>

</tr>

<tr>

<td> <h:outputLabel value="Фамилия:"/> </td> <td><h:inputText value="#{personsView.person.

family}"/> </td>

</tr>

<tr>

<td> <h:outputLabel value="Имя:"/> </td>

240

<td><h:inputText value="#{personsView.person.

name}"/> </td>

</tr>

<tr>

<td> <h:outputLabel value="Отчество:"/> </td> <td><h:inputText value="#{personsView.person.fa-

ther}"/> </td>

</tr>

<tr>

<td> <h:outputLabel value="Рождение:"/> </td> <td><h:inputText value="#{personsView.person.

bday}">

<f:convertDateTime dateStyle="short" /> </h:inputText>

</td>

</tr>

<tr>

<td> <h:outputLabel value="Город:"/> </td> <td>

<h:selectOneMenu id="idCity" required = "true" value =

"#{personsView.id_City}" >

<f:selectItems value="#{citiesView.citiesSe-

lector}" />

<!--f:converter / --> </h:selectOneMenu>

</td>

</tr>

<tr>

<td>

<h:commandButton action="#{personsView.mod_yes_Person}"

value="Заменить" /> <h:commandButton action="personsPage" value="Отменить" />

</td>

</tr>

</table>

</h:form>

</td>

</tr>

</table>

</f:view>

</body>

</html>

Упражнение

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

241

19.6.Страница для удаления записей

свнешними ключами

Структура и состав компонент для удалениям персон аналогичен модифика-

ции объекта с заменой полей ввода на невидимые поля.

Файл person_del.xhtml

<?xml version="1.0" encoding="UTF-8"?>

<!--

To change this template, choose Tools | Templates and open the template in the editor.

-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

xmlns:h="http://java.sun.com/jsf/html"

xmlns:f="http://java.sun.com/jsf/core"

xmlns:ui="http://java.sun.com/jsf/facelets"

>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

<title>Редактирование персоны</title> </head>

<body>

<f:view>

<table border="1" width="100%"> <tr>

<td>

<h:form>

<table>

<tr>

<td> <h:outputLabel value="Ключ: #{persons View.person.idPerson}"/> </td>

<td> <h:inputHidden value="#{personsView.person.

idPerson}"

/> </td>

</tr>

<tr>

<td> <h:outputLabel value="Фамилия: #{personsView.person.family}"/> </td>

<td><h:inputHidden value="#{personsView.person.

family}"/> </td>

</tr>

<tr>

<td> <h:outputLabel value="Имя: #{persons View.person.name}"/> </td>

<td><h:inputHidden value="#{personsView.person.

name}"/> </td>

</tr>

<tr>

242

<td> <h:outputLabel value="Отчество: #{personsView.person.father}"/> </td>

<td><h:inputHidden value="#{personsView.person.

father}"/> </td>

</tr>

<tr>

<td> <h:outputLabel value="Рождение: #{personsView.person.bday}"/> </td>

<td><h:inputHidden value="#{personsView.person.

bday}">

<f:convertDateTime dateStyle="short" /> </h:inputHidden>

</td>

</tr>

<tr>

<td> <h:outputLabel value="Город: #{persons View.person.cityId.name}"/> </td>

<td>

<h:inputHidden value="#{personsView.id_City}"/> </td>

</tr>

<tr>

<td>

<h:commandButton action="#{personsView.del_yes_Person}"

value="Удалить" /> <h:commandButton action="personsPage"

value="Отменить" />

</td>

</tr>

</table>

</h:form>

</td>

</tr>

</table>

</f:view>

</body>

</html>

Упражнения

1.Проанализируйте отличия страниц добавления, редактирования и удаления персон.

2.Объясните, как обеспечить контроль удалений связанных внешними ключами записей справочных таблиц?

3.Самостоятельно доработайте фрагменты приложения для обслуживания таблицы рабочих мест.

243

Соседние файлы в папке КСТ