1

如果我想将 passThroughAttributes 添加到optionsa的某些元素中,select我可以使用f: passThroughAttribute作为f:selectItem的子组件。

但通常我使用一个ListSelectItems生成选项。相比之下, UiComponent SelectItem没有方法getPassThroughAttributes

有人知道原因吗?

4

1 回答 1

2

这是因为它没有Renderer关联。对于<f:xxx>组件(标签处理程序和模型),它是最近的父<h:xxx>组件(UIComponent实例),或者,如果有的话,是最近的嵌套<h:xxx>组件,它确实具有Renderer关联。即Renderer负责生成所有 HTML 输出,包括传递属性。请注意,在这种情况下,必须在<h:xxx>组件本身上设置直通属性。

如果您打算控制/操作生成<option>元素的属性,那么您不能在Renderer必要时基于标准Renderer实现创建自定义。

于 2013-09-09T12:09:17.073 回答