如何在整个视图中使用<p:blockui>?</p:blockui>

时间:2013-07-28 12:12:12

标签: jsf-2 primefaces facelets

我想使用<p:blockUI>来阻止整个视图。但由于它的属性block仅接受id作为关键字,而不是@all,我目前看到的唯一方法是使用命名容器(例如<f:subview>)来包装视图的整个内容。

不幸的是,这是语义上的脏,我需要重命名所有绝对ID,因为已经创建了一个新的不必要的(<p:blockUI>)id-“前缀”除外。

有更简洁的方法吗?

1 个答案:

答案 0 :(得分:4)

假设我理解正确,您只需向h:body添加一个ID,并在block的{​​{1}}属性中引用该ID即可。此外,您不需要更改组件的ID。快速示例

<p:blockUI>

同样,这只是一个愚蠢的例子,它只是为了演示目的而阻止视图。但是,根据我从下面的答案中理解,您需要使用Mojarra 2.1.8或更高版本来使用<h:body id="wholeView"> <h:form> <h:inputText/><br/> <h:inputText/><br/> <p:commandButton id="pnlBtn" value="Block Panel" type="button" onclick="bui.show()"/> <p:blockUI block=":wholeView" widgetVar="bui"/> </h:form> </h:body> 中的ID。

How to spefic the body id attribute in JSF 2?