我正在为现有应用程序的移动用户开发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>
答案 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元素开始搜索的内容。但至少这是有效的。