【问题标题】:How to use <p:blockUI> on whole view?如何在整个视图上使用 <p:blockUI>?
【发布时间】:2013-07-28 07:12:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: jsf-2 primefaces facelets


    【解决方案1】:

    假设我理解正确,您可以简单地向 h:body 添加一个 ID,并在 &lt;p:blockUI&gt;block 属性中引用该 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。

    How to spefic the body id attribute in JSF 2?

    【讨论】:

    • 哦,是的!升级 Mojarra 后,这很简单。谢谢你。 :)
    猜你喜欢
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多