6

我想用来<p:blockUI>挡住整个视野。但由于它的属性block只接受 id 作为关键字而不是 eg @all,所以我目前看到的唯一方法是拥有一个命名容器(例如<f:subview>)来包装视图的全部内容。

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

有没有更清洁的方法来做到这一点?

4

1 回答 1

4

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

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

如何在 JSF 2 中指定 body id 属性?

于 2013-07-31T01:58:26.117 回答