Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 没有为name:viewAction定义标记_Jsf 2 - Fatal编程技术网

Jsf 2 没有为name:viewAction定义标记

Jsf 2 没有为name:viewAction定义标记,jsf-2,Jsf 2,我刚刚将JSF2.2.2合并到我现有的项目中,我想使用f:viewAction,但是我得到了以下错误 <f:viewAction> Tag Library supports namespace: http://java.sun.com/jsf/core, \ but no tag was defined for name: viewAction 以下是我对JSF的maven配置: <dependency> <groupId>com.sun.faces

我刚刚将JSF2.2.2合并到我现有的项目中,我想使用
f:viewAction
,但是我得到了以下错误

<f:viewAction> Tag Library supports namespace: http://java.sun.com/jsf/core, \
but no tag was defined for name: viewAction
以下是我对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>

com.sun.faces
JSFAPI
2.2.2
假如
com.sun.faces
jsf impl
2.2.2
假如
javax.servlet
javax.servlet-api
3.0.1
假如
javax.servlet.jsp
javax.servlet.jsp-api
2.2.1
假如
javax.el
javax.el-api
2.2.1
假如
javax.servlet.jsp.jstl
JSTLAPI
1.2
假如

谁能解释一下我为什么会出现这个错误吗?

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

获取:
警告:此页面调用XML命名空间http://xmlns.jcp.org/jsf/core 使用前缀f声明,但该名称空间不存在taglibrary
-JBoss AS 7.2如果您收到XML名称空间警告并正在使用Eclipse,请重新生成项目并重新启动Eclipse。如果您的答案适用,则应接受(虽然不适合我)也请添加您的服务器(glassfish?Jboss?)
@Named("testBean")
@Scope(ScopeType.VIEW)
public class TestBeanimplements Serializable {
public void doIT(){
  System.out.println("Test Working !!!!!!!!");
    }
}
<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>