如何推迟打开Xpage中的视图

Bry*_*ler 4 xpages

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

我想避免在第一次打开xpage时加载视图,因为这需要花费很多时间.我怎样才能做到这一点?

Knu*_*ann 7

使用视图控件的呈现属性.如果搜索字段为空,则返回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>
Run Code Online (Sandbox Code Playgroud)

搜索字段存储在视图范围变量"search"中.如果它为空则 rendered="#{javascript:viewScope.search}"返回false并且视图不会被渲染.一旦用户输入搜索字符串并单击搜索按钮,则#{javascript:viewScope.search}返回true并且视图可见.

部分刷新视图控制面板,单击搜索按钮.