迁移到JSF 2.2后,名称空间出错

时间:2013-06-26 22:14:07

标签: jsf namespaces jsf-2.2

我迁移到JSF2.2

后面临下面的问题
 com.sun.faces.config.ConfigurationException: The tag named passThroughAttribute from namespace http://xmlns.jcp.org/jsf/core has a null handler-class defined
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processHandlerClass(FaceletTaglibConfigProcessor.java:422) [:2.2.0]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:378) [:2.2.0]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:321) [:2.2.0]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:270) [:2.2.0]
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:437) [:2.2.0]
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:214) [:2.2.0]

我已根据规格进行了更改,我通过以下网址进行了更改: http://jsfcorner.blogspot.in

我的更改如下:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">

并包括passthrough

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
    xmlns:p="http://primefaces.org/ui">

1 个答案:

答案 0 :(得分:2)

第一个Mojarra版本2.2.0和2.2.1中打破了处理新xmlns.jcp.org XML命名空间的方式。其中,他们忽略了正确注册新的JSF 2.2组件/标签/属性/处理程序。根据{{​​3}}已修复Mojarra 2.2.2(注意:发行票据描述了不同的问题症状,但在幕后,它基本上是相同的原因)。

因此,升级到至少Mojarra 2.2.2应该可以解决您的问题。 issue 2900已经是2.2.5。