1

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

我的 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

4 回答 4

2

如果您不url-pattern通过FacesServlet. 例如,如果它被映射*.jsf,那么您需要确保您的请求 URL 与它匹配。即通过 http://example.com/context/page.jsf 打开页面,不是通过http://examlpe.com/context/page.xhtml打开页面。

如果这没有帮助,那么下一步是读取服务器日志以查找任何错误或警告。此外,检查生成的 HTML 输出(右键单击浏览器,查看源代码),如果<h:head>and<h:body>已被解析<head>,并且<body>可能会提示FacesServlet其工作是否正常。

于 2010-08-30T11:17:44.093 回答
1

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

于 2010-08-30T10:32:07.783 回答
0

确保<h:head>您的页面中有一个元素,而不仅仅是<head>因为这是必需的primefaces

于 2011-05-18T21:21:45.460 回答
0

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

     <head>  
         <p:resources />  
     <head>
于 2010-08-30T08:54:09.737 回答