我在浏览器中看不到html组件

时间:2013-09-29 16:04:56

标签: jsf maven primefaces

我的页面中既没有看到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>

enter image description here

enter image description here

4 个答案:

答案 0 :(得分:1)

尝试使用此代码查看是否可以看到inputtext框和命令按钮

 <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>

答案 1 :(得分:1)

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

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

然后您需要在网址中添加“面孔”。例如:

:http://localhost:8080/ABC/faces/pages/login.xhtml

答案 2 :(得分:0)

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

答案 3 :(得分:0)

尝试将您的元素显示在页面上的表单标记中:

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