1

我正在创建一个 JSF 应用程序,其中我使用 Mojarra 2.1.3 (javax.faces.jar) 作为实现 jar。我想在从数据库中检索数据时显示一个支持分页的 DataTable。有人建议我将 Primefaces 与 Mojarra 一起使用。我的问题是如何以及在哪里将 Mojarra 和 Primefaces jar 放在我的 JSF 应用程序中,以及我需要做哪些相关配置。还有如何在同一个应用程序中调用 Mojarra 和 Primefaces 特定标签,我的意思是如何在我的 Facelets 页面中进行隔离。

4

1 回答 1

3

现代 Java 应用程序服务器通常与 Mojarra 捆绑在一起。您无需手动将其添加到您的项目中。

如果您使用像 Netbeans 或 Eclipse 这样的 IDE,只需为 IDE 配置服务器,创建一个新的 Java Web 或 Java EE 项目,所有必要的库都会自动添加到您的项目中。我建议浏览NetbeansEclipse的快速入门教程之一。

如果您需要使用特定的 Mojarra 版本,请检查应用程序服务器的文档并在必要时替换服务器的 JSF jar 文件(jsf-impl.jar 和 jsf-api.jar)。

Primefaces 不与应用程序服务器捆绑在一起。您必须手动将其添加到您的项目中。Primefaces 文档是一个很好的起点。太简短了:将 primefaces jar 文件放在 Web 项目的类路径中(通常是 WEB-INF/lib)。

您可以在 facelets 中并排使用 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>

(对于 3.0 之前的 Primefaces 版本,命名空间定义看起来有点不同xmlns:p="http://primefaces.prime.com.tr/ui":)

然后您可以使用带有前缀的 JSF 标记h或带有前缀f的 Primefaces 标记p

<h:inputText .../>
<p:calendar .../>
于 2012-03-01T07:33:51.033 回答