JSF2 PrimeFaces安装

时间:2010-08-30 08:42:42

标签: jsf jsf-2 primefaces

我想使用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}" width="640px" height="320px"></p:editor> 

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

4 个答案:

答案 0 :(得分:2)

如果您未通过url-pattern的{​​{1}}请求该页面,则会发生这种情况。如果它映射到例如FacesServlet,那么您需要确保您的请求URL与它匹配。即按http://example.com/context/page.jsf打开页面,而不是http://examlpe.com/context/page.xhtml

如果这没有帮助,那么第一步是读取服务器日志以查找任何错误或警告。此外,如果*.jsf<h:head>已被解析为<h:body><head>,则检查生成的HTML输出(右键单击浏览器,查看源)提供关于<body>是否正常工作的提示。

答案 1 :(得分:1)

Tomcat是一个简单的servlet容器,不包含JSF2 jar。 Primefaces只是基础JSF2安装的顶级的组件套件(可能是Sun's RI: MojarraMyfaces)。首先,您必须下载并配置其中任何一个,然后Primefaces将起作用。

答案 2 :(得分:0)

我阅读了安装页面,您似乎需要在<html>标记内的某处出现:

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

答案 3 :(得分:0)

请确保您的网页中有<h:head>个元素,而不只是<head>,因为primefaces

需要这个元素