ExtLib Mobile Controls - 如何构建切换到appPage的按钮

时间:2012-09-20 08:44:46

标签: xpages

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

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

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

问题是按钮。我不知道如何构建此按钮以移动到其他appPage。这是我的最后一次尝试,它因运行时错误而失败。

知道如何让这个运行或出现什么问题?

亲切的问候 INGO

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

2 个答案:

答案 0 :(得分:0)

运行时错误说什么?

如果您无法直接访问服务器上的XPages日志文件,请使用XPages Log File Reader from OpenNTF轻松访问浏览器中的日志文件。

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

答案 1 :(得分: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元素开始搜索的内容。但至少这是有效的。