没有为name定义标记:viewAction

Mit*_*hun 5 jsf-2

我刚刚将JSF 2.2.2合并到我现有的项目中,我想使用f:viewAction但是我收到以下错误.

<f:viewAction> Tag Library supports namespace: http://java.sun.com/jsf/core, \
but no tag was defined for name: viewAction
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

<f:metadata>
    <f:viewAction action="#{testBean.doIT}"/>
</f:metadata>
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

@Named("testBean")
@Scope(ScopeType.VIEW)
public class TestBeanimplements Serializable {
public void doIT(){
  System.out.println("Test Working !!!!!!!!");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我对JSF的maven配置:

<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>2.2.2</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-impl</artifactId>
    <version>2.2.2</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.2.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.el</groupId>
    <artifactId>javax.el-api</artifactId>
    <version>2.2.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp.jstl</groupId>
    <artifactId>jstl-api</artifactId>
    <version>1.2</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

谁能请我解释为什么我收到这个错误?

Mik*_*aun 9

您必须使用新的命名空间: xmlns:f="http://xmlns.jcp.org/jsf/core"

  • 获取:`警告:此页面调用带有前缀f声明的XML命名空间http://xmlns.jcp.org/jsf/core但该命名空间不存在taglibrary - JBoss AS 7.2 (2认同)