0

当jsf不渲染组件时,如何填补组件应该放置的空白。组件刚刚消失,其他组件确实填充了它的空间。我只需要把它的空间留空

4

2 回答 2

3

创建一个面板并将您的组件放置在面板内。给面板适当的高度和宽度。这样即使里面的组件没有渲染,空间仍然被面板填充。

于 2013-01-10T13:15:53.967 回答
0

如果渲染不包含敏感的用户特定信息,如管理按钮(否则这个问题可能没有意义),您也可以只使用 CSSvisibility属性。

<h:someComponent ... styleClass="#{bean.show ? '' : 'invisible'}" />

.invisible {
    visibility: hidden;
}

这样,它仍然会渲染输出并占用所需的空间,但仍然不可见(顺便说一下,这与众所周知display: none的完全不占用空间的区别)。请注意,这种方式还可以通过 JavaScript 完全在客户端切换可见性。

于 2013-01-10T13:49:06.173 回答