jsf应用程序中xhtml页面中的未知jsf标记

时间:2013-07-26 03:21:52

标签: jsf jsf-2

这是我第一次使用eclipse和jsf,我遇到了一些问题。

这是我的项目结构:

eclipse project structure

我已下载并使用了JSF 2.1(Mojarra 2.1.6-FCS)jar文件,其中只有一个jar文件,我将该jar文件用作用户库。

现在我遇到的问题是,当我在我的index.xhtml文件中使用h:head时,它显示h:head是一个未知的标签。当然我使用的是带有支架的。除了h:头,我无法在这里打字。

这是我的index.xhtml文件:

<?xml version="1.0" encoding="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">
  <h:head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
   <title>Insert title here</title>
  </h:head>
  <body>

  </body>
  </html>

这里有什么问题?是否只包含一个jar文件?

在包含的jar文件中还有一些白色包标记......这里它们是: while package in jar 这是什么意思?

1 个答案:

答案 0 :(得分:3)

问题是您没有在文件中的任何位置定义h前缀。如果你遵循JSF 2教程,你会在<html>标签定义中注明这一点(这个来自StackOverflow JSF wiki):

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

其中

  • h用于JSF HTML标记,例如<h:head><h:body><h:inputText>等。
  • f是JSF核心的前缀,如<f:view><f:selectItems><f:ajax>等。