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">

并包括直通

<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">
4

1 回答 1

2

在第一个 Mojarra 版本 2.2.0 和 2.2.1 中,处理新xmlns.jcp.orgXML 名称空间的方式被破坏了。其中,他们忽略了正确注册新的 JSF 2.2 组件/标签/属性/处理程序。它已根据问题 2900在 Mojarra 2.2.2 中修复(注意:问题单描述了不同的问题症状,但在幕后,它本质上是相同的原因)。

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

于 2014-01-26T20:05:58.480 回答