1

リンク制御を使用して別のデータベースへのリンクを作成する方法は? URLをスラッシュで始めるだけだと思っていましたが、xpagesが現在のデータベースへのパスをこのリンクの先頭に追加しているため、機能しません./app/projects.nsf/database.nsf/page.xsp

<xp:link escape="true" text="Link" id="link1" value="/database.nsf/page.xsp">   
</xp:link>

http:// で始まる絶対リンクを作成できることは知っていますが、これは避けたいと思います...

4

3 に答える 3

1

xp:text 要素を使用してアンカーに変換できます。

<xp:text escape="true" id="link1" tagName="a" value="Link">
   <xp:this.attrs>
      <xp:attr name="href" value="/database.nsf/page.xsp"></xp:attr>
   </xp:this.attrs>
</xp:text>

または、パススルー タグとしてリンクを追加します。

于 2013-03-28T15:00:14.820 に答える
1

データベースがサーバー上の同じサブディレクトリにある場合は、../xxx.nsf を使用できます。戻りたいすべてのサブフォルダに対して、先頭に ../

あなたの場合の例:

<xp:link escape="true" text="Link" id="link1" value="../database.nsf/page.xsp">
</xp:link>

データベースが現在のデータベースのフォルダーの 1 つ上のフォルダーである場合は、これを使用できます。

<xp:link escape="true" text="Link" id="link1" value="../../database.nsf/page.xsp">
</xp:link>

それが役立つことを願っています。マイケル

于 2013-03-28T13:40:26.247 に答える
0

Sven の回答に基づいて、URL を計算し、ターゲットを新しいタブに設定しました。したがって、私の xp:text 要素は次のとおりです。

<xp:text id="label4" escape="true"
    styleClass="btn btn-default" value="Open Fastworks Document"
        tagName="a">
    <xp:this.attrs>
        <xp:attr name="href">
        <xp:this.value><![CDATA[#{javascript:var sUNID = document1.getItemValueString("FWUNID");
var sNSF = document1.getItemValueString("FWNSF").replace("\\","/");
//sys_all/A4DC4CFDA12A1A4E80257F48003DD8F9?OpenDocument
"/"+sNSF + "/sys_all/"+sUNID;}]]></xp:this.value>
        </xp:attr>
        <xp:attr name="target"
                value="_blank">
        </xp:attr>
    </xp:this.attrs>
</xp:text>

これにより、次のような HTML が生成されます。

<a class="btn btn-default" id="view:_id1:_id2:callback2:label4" href="/Fastworks/Version52m/Accident.nsf/sys_all/31F7D581D23BCFE580257FA1002E3B43" target="_blank">Open Fastworks Document</a>

于 2016-04-26T14:05:00.230 に答える