Как использовать Mojarra и PrimeFaces в одном приложении - PullRequest
1 голос
/ 01 марта 2012

Я создаю приложение JSF, в котором я использую Mojarra 2.1.3 (javax.faces.jar) в качестве jar реализации.Я хочу отобразить DataTable с поддержкой пагинации при получении данных из базы данных.Мне посоветовали использовать Primefaces вместе с Mojarra.Мой вопрос заключается в том, как и где разместить jar Mojarra и Primefaces в моем приложении JSF и какую связанную конфигурацию мне нужно сделать.Кроме того, как вызывать конкретные теги Mojarra и Primefaces в одном приложении, я имею в виду, как выполнить сегрегацию на моей странице Facelets.

1 Ответ

3 голосов
/ 01 марта 2012

Современные серверы приложений Java обычно поставляются в комплекте с Mojarra.Вам не нужно добавлять его в свой проект вручную.

Если вы работаете с IDE, такой как Netbeans или Eclipse, просто настройте сервер для IDE, создайте новый проект Java Web или Java EE, и все необходимые библиотеки будут автоматически добавлены в ваш проект.Я рекомендую пройтись по одному из руководств по быстрому старту для Netbeans или Eclipse .

Если вам требуется использовать конкретную версию Mojarra, проверьте документацию серверов приложений.и замените JSF-файлы сервера JSF (jsf-impl.jar и jsf-api.jar), если необходимо.

Primefaces не связан с серверами приложений.Вы должны добавить его в свой проект вручную.Хорошей отправной точкой является документация Primefaces .Слишком коротко: поместите файл jar primefaces в classpath вашего веб-проекта (обычно WEB-INF / lib).

Вы можете использовать теги Primefaces и JSF рядом друг с другом в своих фасетах.Вам нужно только добавить правильное определение пространства имен, например,

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">
  ...
</html>

(Для версий Primefaces до 3.0 определение пространства имен выглядит немного иначе: xmlns:p="http://primefaces.prime.com.tr/ui")

Тогда вы можете использовать JSFтеги с префиксами h или f и Primefaces теги с префиксом p:

<h:inputText .../>
<p:calendar .../>
...