JSF 2 PrimeFaces 安装

Posted

技术标签:

【中文标题】JSF 2 PrimeFaces 安装【英文标题】:JSF2 PrimeFaces Installaion 【发布时间】:2011-04-05 16:03:04 【问题描述】:

我想使用 PrimeFaces。我按照webpage上的所有说明进行操作

我的 POM:

<dependency>  
    <groupId>org.primefaces</groupId>  
    <artifactId>primefaces</artifactId>  
    <version>2.0.0</version>  
</dependency> 

[...]

<repository>  
    <id>prime-repo</id>  
    <name>Prime Technology Maven Repository</name>  
    <url>http://repository.prime.com.tr</url>  
    <layout>default</layout>  
</repository> 

我猜只是工作!至少 primefaces-2.0.0.jar 已下载!

接下来是我的 web.xml:

  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>
      javax.faces.webapp.FacesServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>

   <servlet>  
       <servlet-name>Resource Servlet</servlet-name>  
       <servlet-class>  
           org.primefaces.resource.ResourceServlet  
       </servlet-class>  
   </servlet>  

   <servlet-mapping>  
       <servlet-name>Resource Servlet</servlet-name>  
       <url-pattern>/primefaces_resource/*</url-pattern>  
   </servlet-mapping>   

我使用的是 tomcat 6,但到目前为止我知道它不支持 servlet 3.0,这就是为什么我必须添加一个 servlet。

接下来是我的 xhtml 代码:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.prime.com.tr/ui" >
    [...]
    <p:editor value="#projectData.description"  ></p:editor> 

到目前为止,它还没有被渲染。我的错在哪里?

【问题讨论】:

在做任何事情之前,先升级到最新版本(2.1)! 2.0.0真的老了... 哦,谢谢你提供的信息,在网站上找不到版本日志 @Sven,你已经很久没有发布这个问题了,但目前我正处于你的阶段。我的简单 primefaces 应用程序没有在浏览器中正确显示。你是怎么解决你的问题的?如果可能的话,看看我的问题***.com/questions/7219372/… 【参考方案1】:

我阅读了安装页面,您似乎需要在 &lt;html&gt; 标签内的某处进行此操作:

     <head>  
         <p:resources />  
     <head>

【讨论】:

谢谢。但我正在使用 JSF2,安装页面显示:“如果您使用带有 JSF 的 PrimeFaces 2.x,您可以跳过本节,因为在这种情况下使用的是原生 JSF2 api。”但无论如何我尝试了它并没有解决问题。【参考方案2】:

Tomcat 是一个简单的 servlet 容器,不包含 JSF2 jar。 Primefaces 只是基本 JSF2 安装(可以是 Sun's RI: Mojarra 或 Myfaces)的顶部组件套件。首先,您必须下载并配置其中任何一个,然后 Primefaces 才能工作。

【讨论】:

【参考方案3】:

如果您不通过url-patternFacesServlet 请求页面,就会发生这种情况。如果它被映射到例如*.jsf,那么您需要确保您的请求 URL 匹配它。 IE。通过http://example.com/context/page.jsf 打开页面,因此不是http://examlpe.com/context/page.xhtml。

如果这没有帮助,那么第一步是读取服务器日志以查找任何错误或警告。此外,检查生成的 HTML 输出(右键单击浏览器,查看源代码)如果 &lt;h:head&gt;&lt;h:body&gt; 被解析为 &lt;head&gt;&lt;body&gt; 可能会提示 FacesServlet工作做得好不好。

【讨论】:

我不确定我明白你的意思。我发布了我的 FacesServlet 声明,所以你可以看看。我通过 url-pattern 请求页面(我认为)【参考方案4】:

确保您的页面中有一个&lt;h:head&gt; 元素,而不仅仅是&lt;head&gt;,因为这是primefaces 所要求的

【讨论】:

以上是关于JSF 2 PrimeFaces 安装的主要内容,如果未能解决你的问题,请参考以下文章

使用 JSF 2.0 和 Primefaces 设置项目

在 PrimeFaces 3.4 JSF 2.0 中按 id 查找组件

Spring Security + JSF 2.0 + Primefaces + Hibernate 配置

jsf+primefaces开发配置

关于 JSF 2.0 自定义组件和 Primefaces 的帮助

Primefaces FileUpload 与 PrettyFaces 和 JSF 2.2.3