Ajax4jsf мертв? Какие еще библиотеки AJAX для JSF есть? - PullRequest
3 голосов
/ 18 июня 2009

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

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

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

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

Ответы [ 4 ]

3 голосов
/ 18 июня 2009

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

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

1 голос
/ 18 июня 2009

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

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

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

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

0 голосов
/ 28 октября 2009

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

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

0 голосов
/ 18 июня 2009

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

...