0

我有两个 Xpage,一个包含重复控件。单击条目时,应打开第二个 Xpage。我正在使用链接控制来执行此操作:

<xp:link escape="true" text="" id="link1"
value="/Xpage1.xsp?documentId=#{javascript:FA_Row.getDocument().getUniversalID()}">

... complex values to display...

</xp:link>

该链接会打开以下 URL:

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

3 回答 3

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>标签内的列名。

于 2013-08-21T14:20:50.290 回答
0

您需要以这种方式设置链接的 URL:

<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>
于 2013-08-21T09:16:46.103 回答
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="".

于 2013-08-22T05:26:11.770 回答