我有两个Xpages,一个包含重复控件。单击某个条目时,应打开第二个Xpage。我使用链接控制来执行此操作:
<xp:link escape="true" text="" id="link1"
value="/Xpage1.xsp?documentId=#{javascript:FA_Row.getDocument().getUniversalID()}">
... complex values to display...
</xp:link>
该链接将打开以下网址:
http://www.serverName.de/path/Xpage1.xsp#/path/Xpage2.xsp?documentID=xxx
当URL以这种方式打开时,XPage2中的所有事件处理程序都不会触发。如果我手动打开文档,使用以下URL,一切正常。
http://www.serverName.de/path/Xpage2.xsp?documentID=xxx
如何告诉我的重复控件在没有“Xpage1.xsp#”的情况下打开URL?
以下是重复控件的完整代码,如请求:)这是一个分类视图,使用jQuery Mobile进行格式化。
<xp:repeat id="contactRepeat" rows="30"
value="#{MForApproval}" var="FA_Row" disableOutputTag="true">
<xp:scriptBlock
rendered="#{javascript:FA_Row.getNoteID()==''}">
<li data-role="list-divider" data-dividertheme="b">
...Category Text...
</li>
</xp:scriptBlock>
<xp:scriptBlock
rendered="#{javascript:FA_Row.getNoteID()!=''}">
<li>
<xp:link escape="true" text="LINK" id="link1"
value="Button_test_1.xsp?documentId=#{javascript:FA_Row.getDocument().getUniversalID()}">
...TEXT...
</xp:link>
</li>
</xp:scriptBlock>
</xp:repeat>
答案 0 :(得分:0)
您需要以这种方式设置链接的网址:
<xp:link escape="true" text="" id="link1">
<xp:this.value><![CDATA[#{javascript:"/Xpage1.xsp?documentId=" + FA_Row.getDocument().getUniversalID()}]]></xp:this.value>
... complex values to display...
</xp:link>
答案 1 :(得分:0)
请尝试以下代码。
<xp:repeat id="contactRepeat" rows="30"
value="#{MForApproval}" var="FA_Row" disableOutputTag="true">
<xp:panel tagName="li" rendered="#{javascript:FA_Row.isCategory()}">
<xp:this.attrs>
<xp:attr name="data-role" value="list-divider" />
<xp:attr name="data-dividertheme" value="b" />
</xp:this.attrs>
<xp:text tagName="h3" disableTheme="true" value="#{FA_Row.categoryCol}" />
</xp:panel>
<xp:panel tagName="li" rendered="#{javascript:FA_Row.isDocument()}">
<a href="Xpage1.xsp?documentId=#{javascript:FA_Row.getUniversalID()}">
<xp:text value="#{FA_Row.ColName}" disableTheme="true" />
</a>
</xp:panel>
</xp:repeat>
您只需更新<xp:text>
标记内的列名称。
答案 2 :(得分:0)
我尝试了你的Code和Naveen的版本。在我的例子中,两个都在工作。您可以尝试使用简单事件或脚本事件将用户重定向到其他XPage,如下所示:
<xp:link escape="true" text="linkName" id="link2"
value="">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:openPage name="xpage1.xsp" target="openDocument">
<xp:this.documentId><![CDATA[#{javascript:FA_Row.getDocument().getUniversalID();
}]]></xp:this.documentId>
</xp:openPage>
</xp:this.action>
</xp:eventHandler>
</xp:link>
注意:如果您使用事件双重检查value=""
。