在xhtml页面中显示jsf组件

时间:2012-07-11 09:31:40

标签: eclipse jsf tomcat

我使用jsf在eclipse中有一个动态Web应用程序。我创建了一个带有'new java server faces(jsf)page(xhtml)'模板的jsp页面,并且只想显示一个h:inputText但是当我在tomcat中运行我的应用程序时,inputText没有显示出来。

当我使用'new java server faces(jsf)page(html)'模板时,我不会有任何问题,但我必须在我的项目中使用xhtml。

我正在使用eclipse indigo sr2 3.7.2 - myfaces 2.0.14 - tomcat 7.0.29

my jars:commons-beanutils-1.8.3 - commons-codec-1.3-commons-collections-3.2-commons-digester-1.8-commons-logging-1.1.1-jstl-api-1.2-jstl-impl- 1.2 - myfaces-api-2.0.14 - myfaces-bundle-2.0.14 - myfaces-impl-2.0.14

main.jsp:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
   pageEncoding="ISO-8859-1"%>
<!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:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
</h:head>
<h:body>
<f:view>
 <h1>JSF XHTML</h1>
<h:inputText value="Hi"></h:inputText>
</f:view>
</h:body>
</html>

有什么问题?

1 个答案:

答案 0 :(得分:2)

我将main.jsp更改为main.xhtml并将这些行添加到我的web.xml中,现在我的项目工作正常。

  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
  </servlet-mapping>

thanx引起你的注意