JSF2 自定义组件问题

JSF2 custom component issue

我创建了一个在 xhtml 视图中使用的自定义组件,它在 JSF 2.1 中使用 Netbeans8.1 和 glassfish4 获取属性值并打印它(如下面代码中的 helloworld)。 1.我通过扩展 UIComponentBase 覆盖的系列创建了一个自定义组件,并通过扩展 UIComponentELTag 覆盖 componentType 和 rendererType 方法对开始和自定义组件标记 class 进行编码。我已经为它定义了一个标签库test.taglib.xml并在web.xml中注册了它。

下面是查看代码

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:body>

    <h2>JSF Custom Input FacesComponent Example</h2>
    <h:form>
        <ui:composition 
                   xmlns:custom="http://packt.net/cookbook/components"
                        xmlns:ui="http://java.sun.com/jsf/facelets">
            <custom:testInput helloworld="test component!!"/>
        </ui:composition>
    </h:form>

</h:body>
</html>

问题是 - 它只显示 html 值而不显示自定义组件属性值。

当我尝试 jsp 视图(使用 tld 文件)时,同样的例子也适用。

我尝试直接使用自定义组件标签或作为 ui:composition 的子标签使用,但没有成功。

我在自定义组件中打了一个断点并尝试调试,但是控制连断点都不行。

既然控件不会断点,那么这是否意味着我的自定义组件没有被 servlet 注册?如果是这样,请告诉我我做错了什么。

我是 JSF 的新手,所以如果我遗漏了任何要点,请告诉我。

我对 JSF2.2.7 进行了同样的尝试,但也出现了同样的问题。

我找不到根本原因,但我的问题已经解决了。我用 JSF 2.2.7 jar 尝试了相同的代码,但我改用了注释。 如问题中所述,它不适用于 2.2.7,是因为我使用的是老式代码,例如创建 taglib 并在部署描述符中更新它。