Сравните [закрытые] реализации JSF

from os.path import splitext

list1 = ['image1.png', 'image2.png', 'image3.png', 'image3.png', 'image4.png', 'image3.jpg']
list2 = ['image1.pdf', 'image2.eps', 'image3.ps', 'image5.doc']

# Create a lookup set of the document names sans extensions.
documents = set([splitext(filename)[0] for filename in list2])

# Compare each stripped filename in list1 to the list of stripped document filenames.
matches = [filename for filename in set(list1) if splitext(filename)[0] in documents]

print matches

Выход:

['image1.png', 'image2.png', 'image3.png', 'image3.jpg']

Обратите внимание, что при необходимости его нужно будет адаптировать для файлов с несколькими расширениями, например .tar.gz (filename.partition(".")[0] выполнит трюк). Но это означало бы, что точки не могут быть помещены нигде в имени файла, потому что первая точка теперь ограничивает расширение.

16
задан Gennady Shumakher 19 March 2009 в 15:19
поделиться

4 ответа

Будьте осторожны!

JSF является спецификацией. Таким образом необходимо использовать реализацию, такую как та, обеспеченная Sun или тем, обеспеченным Apache (MyFaces).

IceFaces не реализация, но библиотека компонентов. Другие библиотеки существуют, такие как RichFaces, Томагавк MyFaces, и так далее.

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

11
ответ дан 30 November 2019 в 17:53
поделиться

RichFaces разрабатывается Jboss под Redhat.

богатство Компонента: Партии хороших ajax функций и компонентов UI.

Простота для разработки: Субъективный, но я говорю да.

Популярность: v3.3.0 имеет приблизительно 13 000 загрузок

Устойчивость: Все еще в активной разработке с добавленными новыми опциями. Система на месте для Отслеживание ошибок .

общественная поддержка: Имеет хорошее онлайн демонстрация с примерами кода (тот на веб-сайте Jboss, который необходимо войти в систему для получения к). Существует форум и wiki на сайте Jboss.

4
ответ дан 30 November 2019 в 17:53
поделиться

Я второй RichFaces. Много хорошей документации на exadel страницах (которые Mark связанный также), и также очень хорошее Руководство разработчика на каждом компоненте. Ползунки для базового JSF + Richfaces (которые также имеют большую хорошую поддержку Ajax).

2
ответ дан 30 November 2019 в 17:53
поделиться

Если вы используете Sun RI или MyFaces, особой разницы нет. Оба реализуют то, что определяет стандарт JSF.

Для библиотек компонентов вы должны взглянуть на:

  • ICEfaces (мы предпочитаем это)
  • RichFaces (вы должны проверить, насколько это тесно с миром JBoss уже)
  • Томагавк (классический; ходят слухи, что разработка немного застопорилась)
  • Тринидад (ядро Oracle ADF Faces с открытым исходным кодом)

Они важны. Вудсток мертв, и ребята из ICEfaces предлагают путь миграции. Если вы уже работаете с инструментами Oracle (например, JDeveloper), Тринидад - хороший кандидат для начала. Если вы уже работаете с инструментами JBoss, RichFaces - хороший кандидат для начала.

Для более независимого использования взгляните на Tomahawk и ICEfaces. ICEfaces позволяет интегрировать компоненты Tomahawk, хотя скиннинг не совсем совместим. Интеграция - одна из ключевых особенностей ICEfaces. Поддержка IDE, серверов приложений и других фреймворков с открытым исходным кодом великолепна. Интеграция Facelets - лучшее, что вы можете получить. Технология AJAX push - лучшая реализация Push на данный момент. Многое из JSF 2.0 уже является частью ICEfaces 1.8.

Вот еще немного, почему мы предпочитаем ICEfaces:

http://blog.rainer.eschen.name/2008/09/22/icy-faces -for-more-than-year /

Для ознакомления с JSF смотрите здесь:

http://blog.rainer.eschen.name/2008/03/10/how-to-start-the -jsf-dance /

Подсказка: в конце 2008 года Packt Publishing попросили меня написать книгу об ICEfaces. Он будет доступен в конце октября 2009 года. Зная это, ответ может быть несколько предвзятым. Но, это результат длительного тестирования и более чем 1,5-летнего опыта работы с ICEfaces. Это лучшее, что вы можете получить в технологиях. Я протестировал все важные реализации JSF с открытым исходным кодом, прежде чем наш проект окончательно выбрал ICEfaces.

4
ответ дан 30 November 2019 в 17:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: