【问题标题】:How to defer opening of a view in an Xpage如何推迟在 Xpage 中打开视图
【发布时间】:2014-06-23 14:20:05
【问题描述】:

在我的 Xpage 中,我在页面顶部有搜索条件,在底部有一个视图。用户将选择一些搜索条件,然后单击搜索,然后我在视图上进行 FT 搜索。

我想避免在第一次打开 xpage 时加载视图,因为这需要很多时间。我该怎么做?

【问题讨论】:

    标签: xpages


    【解决方案1】:

    使用视图控件的 rendered 属性。如果搜索字段为空,则为呈现的属性返回 false,如果已填充,则返回 true

    例子:

    <xp:inputText
        id="inputText1"
        value="#{viewScope.search}">
    </xp:inputText>
    <xp:button
        value="Search"
        id="button1">
        <xp:eventHandler
            event="onclick"
            submit="true"
            refreshMode="partial"
            refreshId="viewForSearch">
        </xp:eventHandler>
    </xp:button>
    <xp:panel
        id="viewForSearch">
        <xp:viewPanel
            rows="30"
            id="viewPanel1"
            rendered="#{javascript:viewScope.search}">
            ... pager ... view ... columns ...
        </xp:viewPanel>
    </xp:panel>
    

    搜索字段存储在视图范围变量“搜索”中。如果它是空的,那么 rendered="#{javascript:viewScope.search}" 返回 false 并且视图不会被渲染。只要用户输入搜索字符串并单击搜索按钮 #{javascript:viewScope.search} 就会返回 true 并且视图变得可见。

    点击搜索按钮部分刷新视图控制面板。

    【讨论】:

    • 太棒了。这非常有效。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多