UIComponent的isInView()和isRendered()之间的区别

时间:2013-06-06 14:19:57

标签: jsf

UIComponent类中的方法isInView()isRendered()之间有什么区别?

通过阅读api

中提供的描述,我无法弄明白

1 个答案:

答案 0 :(得分:4)

如果您正在动态创建/操作JSF组件树,那么它只会引起您的兴趣。它指示所讨论的组件实例是否是JSF组件树的成员(" view")。

,假设视图中已存在someParentComponent(作为UIViewRoot的孩子):

UIComponent newComponent = new SomeComponent();
System.out.println(newComponent.isInView()); // false
someParentComponent.getChildren().add(newComponent);
System.out.println(newComponent.isInView()); // true
someParentComponent.getChildren().remove(newComponent);
System.out.println(newComponent.isInView()); // false

有道理吗?

您必须已经知道rendered属性代表什么(在呈现响应阶段,如果true(并在视图中),则生成HTML,否则如果false,则不要&# 39;生成HTML)。