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】:我阅读了安装页面,您似乎需要在 <html>
标签内的某处进行此操作:
<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-pattern
或FacesServlet
请求页面,就会发生这种情况。如果它被映射到例如*.jsf
,那么您需要确保您的请求 URL 匹配它。 IE。通过http://example.com/context/page.jsf 打开页面,因此不是http://examlpe.com/context/page.xhtml。
如果这没有帮助,那么第一步是读取服务器日志以查找任何错误或警告。此外,检查生成的 HTML 输出(右键单击浏览器,查看源代码)如果 <h:head>
和 <h:body>
被解析为 <head>
和 <body>
可能会提示 FacesServlet
工作做得好不好。
【讨论】:
我不确定我明白你的意思。我发布了我的 FacesServlet 声明,所以你可以看看。我通过 url-pattern 请求页面(我认为)【参考方案4】:确保您的页面中有一个<h:head>
元素,而不仅仅是<head>
,因为这是primefaces
所要求的
【讨论】:
以上是关于JSF 2 PrimeFaces 安装的主要内容,如果未能解决你的问题,请参考以下文章
在 PrimeFaces 3.4 JSF 2.0 中按 id 查找组件
Spring Security + JSF 2.0 + Primefaces + Hibernate 配置