我想使用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>
到目前为止,它还没有被渲染。我的错误在哪里?
答案 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: Mojarra或Myfaces)。首先,您必须下载并配置其中任何一个,然后Primefaces将起作用。
答案 2 :(得分:0)
我阅读了安装页面,您似乎需要在<html>
标记内的某处出现:
<head>
<p:resources />
<head>
答案 3 :(得分:0)
请确保您的网页中有<h:head>
个元素,而不只是<head>
,因为primefaces