Вопрос

В настоящее время я использую библиотеку компонентов JBoss RichFaces JSF для проекта, над которым я работаю. В целом он работает довольно хорошо, особенно поддержка AJAX, предоставляемая ajax4jsf (A4J), но я нахожу обычно очень негибкую разметку таблиц, используемую почти для каждого компонента и всего этого «скина»; вещи RichFaces довольно раздражающие. Было бы неплохо, если бы были некоторые компоненты, которые просто обеспечивали функциональность и только минимальную разметку / стиль. Первоначально я планировал использовать ICEfaces, но это тоже не сработало, а также принесло с собой множество предопределенных стилей, поэтому сейчас RichFaces кажется лучшим вариантом.

Теперь я подумал, что было бы неплохо разработать чистую библиотеку тегов, которая предоставляет некоторые полезные компоненты, найденные в RichFaces, ICEfaces или Tomahawk (не все, конечно!), которые не используют какой-либо предопределенный стиль и генерируют разметку, которая может быть легко оформляется с помощью CSS.

Я хотел использовать библиотеку ajax4jsf для поддержки AJAX, потому что я думаю, что она работает довольно хорошо и легко интегрируется в стандартный JSF с помощью facelets. Но похоже, что с тех пор, как он перешел на JBoss, он больше не доступен как отдельная библиотека. Вы можете загрузить только весь пакет RichFaces, который мне не нужен.

Проект ajax4jsf (A4J) мертв? Если это так, какие есть альтернативы?

Это было полезно?

Решение

Если вы прочитаете форум ajax4jsf , вы будете увидеть, что это было объединено с Richfaces.

Вам не нужно использовать компоненты Richfaces на своей странице, поэтому у вас есть проблема с наличием JAR-файлов в вашем проекте?

Я согласен, что многие компоненты JSF (не только Richfaces) основаны на таблицах (например, h: selectManyCheckbox). Не забывайте, что для многих из них легко написать новый рендер. Я сделал это для h: selectManyCheckbox , чтобы флажки отображались внутри divs вместо таблицы. Я думаю, что вы должны сделать то же самое для компонентов Richfaces ... но если это так, то зачем их использовать?

Возможно, вам будет проще / приятнее использовать элементы пользовательского интерфейса jQuery и связать их с вашими компонентами bean с помощью функции a4j: jsFunction (или аналогичной).

Другие советы

Вы можете найти много альтернатив здесь:

Матрица возможностей библиотеки компонентов JSF AJAX

Просто комментарий. Я начал использовать ледяные лица. Я также веб-дизайнер, и я очень разборчив в отношении внешнего вида компонентов icefaces по отношению к моему веб-приложению. Я был очень расстроен, когда мне потребовалось изменить внешний вид компонентов Icefaces с помощью CSS. Компоненты имели много разметки вложенных таблиц, что раздражало меня.

Когда я перешел на richfaces. Я обнаружил, что намного проще переопределить внешний вид, так как richfaces имеет интегрированную систему переопределения внешнего вида в css. У css, заданного компонентам, были похожие и разумные имена классов, которые облегчали предсказание и переопределение.

Если вы испытываете приключения, взгляните на JSF 2 . В нем реализован переход от технологий просмотра JSP к Facelets и встроенному поддержка AJAX . Дэвид Гири руководил серией JSF 2 fu статьи на developerWorks (хотя вам придется подождать 3-й части для AJAX). Эд Бернс и Джим Дрисколл демонстрировал различные функции во время разработки нового API, поэтому вы, возможно, захотите проверить и их блоги.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top