如何在jsf组件中使用父属性?
我注意到JSF组件中有一个(可能是新的)属性“parent”。我相信这是为了指定组件的父级,这样无论组件在哪里都可以保存在xhtml文件中。可以设置其父级 但我只是没能成功地利用它。如果用户知道所需JSF组件的id或clientid,如何使用它来指定组件的父级 尝试将父组件的id指定为“父”属性值时,出现以下错误: javax.el.ELException:无法将类java.lang.String的'addCustomTags_Bx'强制为类javax.faces.component.UIComponent (不兼容类型) 我相信这是为了指定组件的父级,这样无论组件在哪里都可以保存在xhtml文件中 没有。如何在jsf组件中使用父属性?,jsf,jsf-2,facelets,Jsf,Jsf 2,Facelets,我注意到JSF组件中有一个(可能是新的)属性“parent”。我相信这是为了指定组件的父级,这样无论组件在哪里都可以保存在xhtml文件中。可以设置其父级 但我只是没能成功地利用它。如果用户知道所需JSF组件的id或clientid,如何使用它来指定组件的父级 尝试将父组件的id指定为“父”属性值时,出现以下错误: javax.el.ELException:无法将类java.lang.String的'addCustomTags_Bx'强制为类javax.faces.component.UICom
#{component.parent}
返回组件的父组件,该组件由可用,并且自1.0以来一直在JSF中。如上所述,属性的类型是UIComponent
,而不是String
。这完全解释了您在尝试使用字符串设置EL异常时遇到的EL异常
还有一种方法,但是你不应该使用它。另见(重点不是我的):
public abstract void setParent(UIComponent parent)
此方法决不能被开发人员调用;UIComponent
的内部实现将在组件添加到父级的子级列表中或从父级的子级列表中删除时调用它
因此,无论您考虑的是什么功能需求,都必须以不同的方式解决。将来,最好问一个关于你的问题。很可能您需要
(对于自定义组件或复合组件)或
(对于标记文件或模板文件)。您可以添加一些代码吗?@dforce:这没什么不同。