gpt4 book ai didi

jsf - 如何找出 JSF 组件的组件系列和渲染器类型

转载 作者:行者123 更新时间:2023-12-04 22:22:49 27 4
gpt4 key购买 nike

如何找出 JSF 组件的组件系列和(默认)渲染器类型?

当(覆盖自定义渲染器)使用以下注释时,这些信息是必需的:

@FacesRenderer(componentFamily="",rendererType="")

我用谷歌搜索,浏览了 JSF 规范和 Ed Burn 的书,但找不到我想要的。

最佳答案

以编程方式,您只需打印 UIComponent#getFamily() UIComponent#getRendererType() 即可找到它们。

纪录片,您可以通过查看组件实现的 javadoc 来找到它们。例如,<h:inputText> HtmlInputText 类表示。渲染器类型可以在 javadoc 的介绍性文本的最后一段中找到:

By default, the rendererType property must be set to "javax.faces.Text".



可以通过检查 COMPONENT_FAMILY 常量字段值(继承自 UIInput )的值来找到组件族。单击您的方式通过 Fields inherited from class javax.faces.component.UIInput - COMPONENT_FAMILY - Constant Field Values

COMPONENT_FAMILY "javax.faces.Input"



与具体问题无关的 :您不能通过 @FacesRenderer 注释覆盖默认的 JSF 渲染器。默认渲染器将始终获得优先权。这是设计使然,另见 issue 1748 。您确实需要以 JSF 1.x 方式在 <renderer> 中将它们显式注册为 faces-config.xml
<render-kit>
<renderer>
<component-family>javax.faces.Input</component-family>
<renderer-type>javax.faces.Text</renderer-type>
<renderer-class>com.example.CustomTextRenderer</renderer-class>
</renderer>
</render-kit>

关于jsf - 如何找出 JSF 组件的组件系列和渲染器类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11912476/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com