2013-08-21 29 views
5

我剛剛在我現有的項目中加入了JSF 2.2.2,並且我想使用f:viewAction但我收到以下錯誤。沒有標籤被定義爲name:viewAction

<f:viewAction> Tag Library supports namespace: http://java.sun.com/jsf/core, \ 
but no tag was defined for name: viewAction 

這裏是我的代碼:

<f:metadata> 
    <f:viewAction action="#{testBean.doIT}"/> 
</f:metadata> 

這裏是我的控制器:

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

這裏是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> 

任何人都可以請解釋對我來說,爲什麼我得到這個錯誤?

+0

你應該接受的答案,如果它的工作對你(對我來說,雖然不工作) –

+0

也請添加您的服務器 –

回答

9

你必須使用新的命名空間:(?GlassFish中的Jboss)xmlns:f="http://xmlns.jcp.org/jsf/core"

+0

大工作對於我來說足夠了。謝謝麥克布勞恩。 – Mithun

+2

正在讀取:'警告:此頁面調用XML名稱空間http://xmlns.jcp.org/jsf/core用前綴f聲明,但該名稱空間不存在標記庫 - JBoss AS 7.2 –

+0

如果您正在獲取XML名稱空間警告並且在Eclipse上工作,重建您的項目並重新啓動Eclipse。 – ShirouWrath

相關問題