Jsf PrimeFaces组件不会被渲染

Jsf PrimeFaces组件不会被渲染,jsf,primefaces,facelets,Jsf,Primefaces,Facelets,我使用JSF和PrimeFaces开发了一个应用程序。Facelets页面中有一个问题,标记未显示在页面中。这是我的Facelets页面,用于显示标签、文本框和按钮。页面中仅显示标签: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w

我使用JSF和PrimeFaces开发了一个应用程序。Facelets页面中有一个问题,
标记未显示在页面中。这是我的Facelets页面,用于显示标签、文本框和按钮。页面中仅显示标签:

<!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:h="http://java.sun.com/jsf/html"
      xmlns:f="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:i="http://primefaces.prime.com.tr/touch"
      xmlns:p="http://primefaces.org/ui">
<h:head></h:head> 
<body> 
<ui:composition template="/templates/template.xhtml">
    <ui:define name="content">
    <h:form>  

        <h:outputLabel for="curator" value="Name:" style="font-weight:bold"/>  

        <p:inputText id="curator" value="#{user.curator}" />  

        <p:commandButton value="Submit" update="display"/>  
</h:form>  
    </ui:define>
</ui:composition>
</body> 
</html>

我的web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Cation</display-name>

    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
      </context-param>
   <welcome-file-list>
        <welcome-file>faces/login.xhtml</welcome-file>
    </welcome-file-list>

     <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>/faces/*</url-pattern>
    </servlet-mapping>
  <listener>
    <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
  </listener>
</web-app>

阳离子
javax.faces.PROJECT_阶段
发展
faces/login.xhtml
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
/面孔/*
org.apache.myfaces.webapp.StartupServletContextListener

这是如何造成的,我如何解决它?

似乎显示标签是因为它是一个h标记,而其他标记是p,所以首先检查primefaces jar是通过检查项目上的
库实现的(如果使用Netbeans)还是eclipse上的
Java资源\库实现的。
xmlns:p=”http://primefaces.org/ui“
不足以使primefaces工作,它只指定名称空间


注意:您正在标记
primefaces扩展
,我认为
primefaces
标记与您的情况更相关。

请检查您的类路径中是否包含primefaces jar,并尝试将
body
更改为
h:body
@Laabidirairisi:body,任何
之外的内容都将被忽略,因此与问题无关。重要的是主模板文件
/templates/template.xhtml
,OP根本没有显示它。是的,你说得对@user2476979请显示BalusC提到的模板,同时检查服务器日志,如果Primefaces JAR包含在类路径中,它通常会打印一些关于使用的PF版本的信息