0

我正在为现有应用程序的移动用户开发 XPage。我想为此使用 ExtLib 中的移动控件。

我已经构建了一个带有 SinglePageApp 和一些 AppPages 的 XPage。现在我想用一个搜索菜单、一个简单的 inputText 和一个开始搜索的按钮构建一个 AppPage。

inputText 绑定到 sessionScope 变量。我想在第二个 appPage 中使用该变量来获取搜索值并显示过滤/搜索的视图。

问题是按钮。我不确定如何构建此按钮以移动到其他 appPage。这是我最后一次尝试,失败并出现运行时错误。

知道如何让它运行或有什么问题吗?

亲切的问候英戈

<xe:appPage id="appPage34" pageName="searchPage" preload="true" resetContent="true">
        <xe:djxmHeading id="djxmHeading34" label="Search..." back="Home" moveTo="home">
        </xe:djxmHeading>
        <xp:inputText id="searchInput" value="#{sessionScope.searchValue}">
        </xp:inputText>
        <xp:button value="Search" id="button1" refreshMode="complete" type="submit">
            <xp:eventHandler event="onclick" submit="true">
                <xp:this.action>
                    <xe:moveTo targetPage="#searchResult"></xe:moveTo>
                </xp:this.action>
            </xp:eventHandler>
        </xp:button>
    </xe:appPage>
4

2 回答 2

0

运行时错误说明了什么?

如果您不能直接访问服务器上的 XPages 日志文件,那么使用OpenNTF中的 XPages Log File Reader 可以轻松地从浏览器访问日志文件。

如果您使用“searchResult”作为值targetPage(假设 appPage 称为“searchResult”),它是否有效?

于 2012-09-20T08:57:49.130 回答
0

我现在找到了一个使用静态订单项而不是按钮的解决方案,因为我无法让按钮工作。我认为这与单页应用程序处理对移动页面的访问的方式有关。

搜索页面如下所示:

<xe:appPage id="appPage34" pageName="searchPage" preload="true" resetContent="true">
        <xe:djxmHeading id="djxmHeading34" label="Search..." back="Home" moveTo="home">
        </xe:djxmHeading>
        <xp:inputText id="searchInput" value="#{sessionScope.searchValue}">
            <xp:eventHandler event="onblur" submit="true" refreshMode="complete">
                <xp:this.action>
                    <xp:executeScript>
                        <xp:this.script><![CDATA[#{javascript:var svalue = getComponent("searchInput").getValue(); sessionScope.put("searchValue",svalue);}]]></xp:this.script>
                    </xp:executeScript>
                </xp:this.action>
            </xp:eventHandler>
        </xp:inputText>
        <xp:br></xp:br>
        <xp:br></xp:br>
        <xe:djxmLineItem id="djxmLineItem41" label="Start Search..." moveTo="#searchResult">
        </xe:djxmLineItem>
    </xe:appPage>

在显示搜索结果的移动页面中,我只需获取 sessionScope 变量的值,使用该值发出全文搜索,然后在重复控件中使用生成的文档集合。

我仍然宁愿使用按钮,因为静态行项目并不是用户真正期望的作为开始搜索的 gui 元素。但至少这是有效的。

于 2012-09-25T13:06:55.267 回答