1

我在我的页面中既看不到 primefaces 也看不到 html 组件。我只能看到“sdaf”字符串。可能是什么问题?在 index.xhtml 页面自动完成效果很好,我可以看到组件名称。图书馆一定没有错。

我的 index.xhtml 文件;

<html xmlns="http://www.w3.org/1999/xhtml"  
xmlns:h="http://java.sun.com/jsf/html"  
xmlns:f="http://java.sun.com/jsf/core"  
xmlns:p="http://primefaces.org/ui">  

<h:head>  

</h:head>  

<h:body>  
  <h:button value="html button"> </h:button>
  sdaf
    <p:spinner />  

</h:body>  
</html> 

我的 pom.xml 文件;

<project xmlns="http://maven.apache.org/POM/4.0.0"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-     v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>5454</groupId>
<artifactId>45454</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>45454 Maven Webapp</name>
<url>http://maven.apache.org</url>

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

<dependencies>
<dependency>  
  <groupId>org.primefaces</groupId>  
<artifactId>primefaces</artifactId>  
  <version>3.5</version>  
</dependency> 

   <dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1</version>
  </dependency>


<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
  </dependency>
</dependencies>
<build>
  <finalName>45454</finalName>
</build>
 </project>

在此处输入图像描述

在此处输入图像描述

4

4 回答 4

1

试试这段代码,看看你是否能看到输入文本框和命令按钮,

 <html xmlns="http://www.w3.org/1999/xhtml"  
 xmlns:h="http://java.sun.com/jsf/html"  
xmlns:f="http://java.sun.com/jsf/core"  
 xmlns:p="http://primefaces.org/ui">  

 <f:view contentType="text/html">
    <h:head>
        <f:facet name="first">
            <meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
            <title>Title Goes Here</title>
        </f:facet>
    </h:head>
    <h:body>
   <h:form>
            <p:panel header="Send">
                <p:inputText value="Hi"></p:inputText>
                <p:commandButton value="Send" id="btnDisplay"/> 
            </p:panel>

            </h:form>


    </h:body>

</f:view>
 </html>

Web.xml

您需要在 web.xml 文件中包含以下行

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
于 2013-09-29T16:30:26.360 回答
1

如果在您的 web.xml 中有映射,问题可能是您的“URL”:

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>`

那么您需要在您的网址中添加“面孔”。例如:

:http://localhost:8080/ABC/faces/pages/login.xhtml
于 2017-09-21T12:46:47.530 回答
0

原因是您没有将请求的 api 呈现jsf-impl给您pom.xml的参考检查Primefaces-Maven-Example

于 2013-09-30T07:07:30.567 回答
0

尝试将要在页面上显示的元素放入表单标签中:

<h:form>
 <h:button value="html button"> </h:button>
  sdaf
 <p:spinner/>
</h:form>
于 2013-09-30T11:34:44.700 回答