Компоненты ввода-вывода в JSF. — КиберПедия 

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Компоненты ввода-вывода в JSF.

2022-10-10 42
Компоненты ввода-вывода в JSF. 0.00 из 5.00 0 оценок
Заказать работу

А сейчас мы должны сгенерировать приложение JavaServerFaces. Посмотреть, запустить, потыкать и т.д.

Создать проект->JavaWeb->WebApplication2. Отлично! Далее!

Ставим галочку «Приложение JavaServerFaces».

И сразу снизу появляется настройка. Можно выбрать версию.

Теперь заглянем во вкладку «Конфигурация». Тут ничего не надо менять.

P.S.: «предпочтительный язык страницы»: здесь есть два варианта. Сегодня Oracleне рекомендует JSP, т.к. это устаревший вариант, а рекомендует Facelets.

Смотрим, что есть во вкладке «Компоненты».

Нажимаем «Готово» и с замиранием ждем завершения загрузки проекта. Итак! Все достаточно быстро произошло!

Посмотрим на состав проекта. Итак:

А вот уже и отличие! Страничка в этой технологии имеет формат «xhtml». Это раз. Наконец-то у нас появился нормальный файл настройки. В файлах настройки есть файл «web.xml». И наверху он еще раз повторяется. Это один и тот же файл. Естественно, Java кода здесь никакого нету. Но мы можем здесь открыть «index.xhtml»

Вы видите отличие от html?

namespaceпоявился и посмотрите какие здесь позиции - <h:…Вы спросите: «это текст html?». Ну как вам сказать – это не htmlи не xhtml. Дело в том, что все что начинается с буквы «h:»cэтого пространства имен является объектами соответствующих классов. JavaFXпомните еще? У вас там в FXMLчто было? Теги, которые были объектами соответствующих классов. Здесь тоже самое. Это объекты классов. Вы спросите: «И они соответствуют htmlтегам?». Нет, конечно. Кому это надо? Прямо уж это такой «великий язык». Вы видели в htmlтакой вариант, который назывался бы datatable? Понимаете, да?

Итак! Что они сделали? Ведь нам события нужны, которые должны возникать на объектах! Они написали объекты для того чтобы вы могли использовать свое вот в этом файле объекты. А уже эти объекты, когда идет рендеринг клиенту, генерируют htmlразметку. Вот за этим datatableстоит кто? <table>, <tr>, <td>и т.д. Допустим в htmlу нас есть элемент input, а тут есть разные input - они их разделили на несколько классов. Ествественно их больше, чем в html.

О! <h:panelGrid >! Это другое дело! Мы будем его использовать.

Поэтому это своя собственная объектная модель. Поэтому то, что вы видите перед собой, кроме корневого тега HTML, все остальное внутри является объектами модели. Мы будем ими пользоваться. Почему? Потому что если внутри посмотреть, то там будут и свои свойства, и события и т.д. Функционал у объектов! Это же не HTML! А уже когда на сервере это всё отработало, эти объекты попросили и они отрендерили в свой HTMLи отправили его вам в браузер.

Давайте сейчас нажмем F6.

Вот я запустил страничку, вот она запустилась. Смотрите, вот код страницы.

Видите на этой странице нет никаких данных, никаких формочек и нету никакого скрытого поля, где бы сохранялось состояние – нету никакого состояния. Нечего пользователю менять. И эта технология убрала лишние элементы, чтобы облегчить страничку. Ну правда какие-то id сгенерированы, но это уже их проблемы.

Поэтому мы должны с одной стороны помнить об этом жизненном цикле, а с другой стороны освоить все эти элементы, которые начинаются на «h:».

Значит, у нас есть элементы, которые начинаются с «h:» - элементы управления, серверные элементы, серверная объектная модель.

 

Также у вас начинается то, что с буквы «f:» - события, проверки и т.д.

Иещеuser_interfaceиcomposite_control - Это для создания своих собственных элементов управления.

 

Давайте что-нибудь добавим на эту страничку – inputText(). Пожалуйста, давайте добавим его сюда. В следующий раз мы сделаем каую-нибудь приличную формочку.


Поделиться с друзьями:

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.