找不到JSF2.0标签

时间:2010-07-21 07:32:24

标签: java jsf jsf-2

最近我一直在玩JSF2.0 + Richface 3.3.3,我使用STS作为我的IDE和Maven来构建我的项目,但不知何故我无法使用以下JSF2.0标签来工作:

  • H:按钮
  • H:链接
  • F:元数据
  • f:viewParam(这是我的STS自动完成识别的唯一一个)

它在运行时失败,说它无法找到X组件。

我有jsf-api-2.0.2,jsf-impl-2.0.2,richfaces-api-3.3.3.final,richfaces-impl-jsf2-3.3.3.final,richfaces-ui-3.3。 3.final,jsf-facelets-1.1.15,jstl-1.0,显然是“xmlns:f =”http://java.sun.com/jsf/core“xmlns:h =”http://java.sun。 com / jsf / html“在每个.xhtml文件中,我错过了什么?

这是我得到的确切错误:

<h:button> Tag Library supports namespace: http://java.sun.com/jsf/html, but no tag was defined for name: button

@EDIT:好的,没关系,我的队友发现它是因为我们正在使用一些外部facelets而我们必须等待RichFaces4.0 ...

2 个答案:

答案 0 :(得分:2)

你删除了旧的jsf 1.2库吗? 检查您的WEB-INF/lib,看看没有JSF 1.2库的痕迹。

另请注意,您应将faces-config文件更新为2.0

<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xi="http://www.w3.org/2001/XInclude"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">

在启动servlet时是否说了些什么:INFO: Initializing Mojarra 2.0.2 (FCS b10) for context '/nameofyourapplication'(如果你使用的是JSF的Sun实现)

答案 1 :(得分:0)

您是否确认您的maven pom.xml文件具有以下依赖关系:

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.0.2</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.0.2</version>
    </dependency>

在项目目录中完成mvn clean install后,在target目录中搜索jsf jar文件,并确保在那里找到2.0个罐子。

如果问题仍未解决,请指明您正在使用的Web容器以及如何将战争部署到服务器中。