2013-08-21 101 views
0

URL我有兩個中使用XPages,一個包含重複的控制。當點擊一個條目時,第二個Xpage應該打開。我使用的是鏈接conrol做到這一點: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

我如何告訴我重複控制打開URL沒有 「Xpage1.xsp#」?


下面是重複控制的完整代碼,根據要求:)這是一個分類視圖,使用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

好像你的鏈接URL被計算錯了。 XPage1.xsp#將永遠放回您的Xpage1。你如何創建此鏈接的​​網址?你能否添加你的repeatControl代碼和你的鏈接? –

+1

出於好奇,你爲什麼把內部'內容'?從你的代碼看來,你正在使用它來隱藏/何時。 – Naveen

回答

0

我想你的代碼和納文的版本。在我的例子中,兩者都在工作。你可以嘗試使用一個簡單的事件或腳本事件,您的用戶重定向到其他的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=""

+0

謝謝,這工作有似乎與jQuery Mobile的資源問題,只要我刪除,我的鏈接工作,太。 – Katrin

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

感謝您的快速響應。我試過了,同樣的結果:( – Katrin

+0

之前,此應該有工作嘗試使用此代碼'../ Xpage1.xsp documentId =#{的javascript:FA_Row.getDocument()getUniversalID()}' – Naveen

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>標記中的列名。