#java #html #css #jsf #primefaces
#java #HTML #css #jsf #primefaces
Вопрос:
Я использую PrimeFaces 2.2.1. У меня есть формы JSF с комбинацией обычных виджетов (таких как h: inputText, h: selectOneMenu, h: selectBooleanCheckbox и так далее) и виджетов PrimeFaces (таких как p: calendar и так далее).
Виджеты PrimeFaces имеют приятный скин / тему, обычные виджеты отображаются как обычные HTML-виджеты.
Есть ли простой способ получить визуализацию виджета, отличного от PrimeFaces, с использованием обложки / темы PrimeFaces?
Спасибо! роб
[PS. Я заметил, что в PrimeFaces 3.0 будет p: inputText и так далее, но он еще не выпущен. 🙁 ]
Комментарии:
1. Primefaces 3.0 M1 отсутствует. primefaces.org/downloads.html И вы всегда можете создать версию моментального снимка, если хотите расширить возможности.
Ответ №1:
p: inputText находится в PrimeFaces 2.2
Ответ №2:
У вас должен быть CSS, разработанный для ваших виджетов, отличных от jsf, и применять его условно.
Обновить
Предположим, что существует элемент управления календарем, отличный от jsf (т. Е. компонент, на который изменение обложки primefaces не повлияет)
Теперь вы можете использовать некоторый компонент в сеансе для хранения текущего оформления. например, скажем, natural_orange
теперь вы можете создать css для своего компонента, скажем natural_orange_calendar.css
, и применить его следующим образом
<your component css="#{skinManager.currentSkin}_calendar.css">
Комментарии:
1. Спасибо. Есть ли шанс, что вы могли бы уточнить или привести мне простой пример?
Ответ №3:
Посмотрите на HTML-вывод вашей страницы jsf. Узнайте, как визуализируются виджеты primefaces и какие классы стиля css они используют.
Primefaces использует пользовательский интерфейс jQuery, поэтому имена классов обычно начинаются с ui-…. Используйте те же классы для ваших виджетов, отличных от primefaces.
Пример из одного из моих проектов. Этот h:dataTable
заголовок выглядит как p:dataTable
:
<h:column headerClass="ui-widget-header ui-widget-content ui-state-default">