如何找到JSF组件的组件系列和(默认)渲染器类型?
使用以下注释(覆盖自定义渲染器)时,这些信息是必需的:
@FacesRenderer(componentFamily="",rendererType="")
Run Code Online (Sandbox Code Playgroud)
我用Google搜索了JSF规范和Ed Burn的书,但找不到我想要的东西.
Bal*_*usC 12
以编程方式,您可以通过打印UIComponent#getFamily()
和找到它们UIComponent#getRendererType()
.
纪录片,你可以通过查看组件实现的javadoc找到它们.例如,<h:inputText>
由HtmlInputText
类表示.渲染器类型可以在javadoc的介绍性文本的最后一段中找到:
默认情况下,该
rendererType
属性必须设置为"javax.faces.Text
".
可以通过检查COMPONENT_FAMILY
常量字段值(从中继承UIInput
)的值来找到组件系列.单击继承自类javax.faces.component.UIInput
COMPONENT_FAMILY
的字段- - 常量字段值
COMPONENT_FAMILY
"javax.faces.Input
"
与具体问题无关:您无法通过@FacesRenderer
注释覆盖默认的JSF渲染器.默认渲染器始终具有预定义.这是设计,另见问题1748.你真的需要明确登记他们作为<renderer>
在faces-config.xml
JSF的1.x的方式.
<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>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5905 次 |
最近记录: |