Jsf 2 如何使用<;p:blockUI>;从整体上看?

Jsf 2 如何使用<;p:blockUI>;从整体上看?,jsf-2,primefaces,facelets,Jsf 2,Primefaces,Facelets,我想使用来阻止整个视图。但由于它的属性块只接受ID作为关键字,而不是例如@all,因此我目前看到的唯一方法是使用命名容器(例如)来包装视图的全部内容 不幸的是,这在语义上是肮脏的,我需要重命名所有绝对id,因为已经创建了一个新的不必要的id(“前缀”)(除了) 有更干净的方法吗?假设我理解正确,您可以简单地向h:body添加一个id,并在的块属性中引用该id。此外,您不需要更改组件的ID。快速示例 <h:body id="wholeView"> <h:form>

我想使用
来阻止整个视图。但由于它的属性
只接受ID作为关键字,而不是例如
@all
,因此我目前看到的唯一方法是使用命名容器(例如
)来包装视图的全部内容

不幸的是,这在语义上是肮脏的,我需要重命名所有绝对id,因为已经创建了一个新的不必要的id(“前缀”)(除了


有更干净的方法吗?

假设我理解正确,您可以简单地向
h:body
添加一个id,并在
属性中引用该id。此外,您不需要更改组件的ID。快速示例

<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>



同样,这只是一个愚蠢的示例,只是出于演示目的而阻塞了视图。但是,根据我从下面的答案中了解到的情况,您需要使用Mojarra 2.1.8或更高版本才能使用
h:body
中的id


哦,是的!升级Mojarra后,这很简单。谢谢。:)