PrimeFaces组件无法识别,也不会呈现

时间:2012-03-21 20:09:37

标签: jsf primefaces

我刚刚将PrimeFaces 3.0添加到JSF项目中:

<repository>
    <id>prime-repo</id>
    <name>PrimeFaces Maven Repository</name>
    <url>http://repository.primefaces.org</url>
    <layout>default</layout>
</repository>

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

我创建了这个测试页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.prime.com.tr/ui">
    <h:head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    </h:head>
    <h:body>
        <h:form>
            <p:panel header="F.C. Barcelona" footer="Visca el Barca!">
                <h:outputText value="FC Barcelona " />
            </p:panel>

            <h:outputText id="name" value="#{facesBean.name}" />                <h:commandButton value="Submit" action="#{facesBean.callService()}" />
        </h:form>
    </h:body>
</html>

<p:panel>组件未呈现。只有<h:xxx>组件才能正确呈现。

我在Maven dependecies和目标文件夹中有PrimeFaces jar。我正在使用Tomcat 7. PrimeFaces不需要任何其他配置,对吗?

1 个答案:

答案 0 :(得分:2)

xmlns:p="http://primefaces.prime.com.tr/ui"

此XML命名空间仅适用于PrimeFaces 2.x.从PrimeFaces 3.0开始,新的XML命名空间就是

xmlns:p="http://primefaces.org/ui"

确保您正在阅读有关PrimeFaces 3.0的文档/教程,而不是2.x。