2012-07-09 78 views
2

我正在創建一個XPage應用程序,該應用程序將顯示一個按名稱列出我們網站上的所有軟件應用程序的視圖。我將應用程序名稱顯示爲鏈接,但我不想在有人點擊鏈接時從視圖中打開文檔。相反,我想閱讀包含URL的底層文檔的字段並啓動它。該URL可以啓動Notes客戶端應用程序,Xpages應用程序或僅僅是一個網站。需要一些最佳實踐意見

當用戶點擊鏈接時,檢索URL並啓動它的最佳方式是什麼?每種URL類型的陷阱是什麼?

感謝,

MJ

回答

1

構造您的HTML鏈接。比方說,與URL你的領域被稱爲targetURL和您的應用程序名稱字段是Subject然後你做一個計算列式HTML(所以沒有逃脫)有:

"<a href=\""+curRow.getColumnValue("targetURL")+"\">"+curRow.getColumnValue("subject")+"</a>" 

你將不得不在視場(但你在視圖控件中不需要它們)

+0

爲什麼構建HTML你自己是否有這爲您完成此稱爲PAGEURL的財產? – jjtbsomhorst 2012-07-09 19:49:46

+0

泰爾總是不止一種方法來給貓皮。我希望PageURL是一個用戶編輯的字段,只需將url http ftp mailto notes sap等放在「在屏幕上看到」即可。當然,你可以計算一個字段「頁面鏈接」,它有一個完整的href,但只會引起潛在的不同步。 pageURL也可以用於例如在RSS或自動電子郵件中,你不一定需要在他們周圍有一個簡單的href – stwissel 2012-07-10 02:56:06

+0

如果curRow.getColumnValue(「targetURL」)或curRow.getColumnValue(「subject」)可以包含用戶提交的信息,則不要這樣做,它會打開增加了跨站點腳本攻擊的可能性。這對於href屬性尤其重要,因爲我不認爲Active Content Filter會在這種情況下捕獲javascript:url方案。 – 2012-07-10 14:50:24

0

如果使用視圖控件,請單擊視圖列,並且有一個名爲pageUrl的屬性。給你的視圖控件一個像rowData這樣的集合名稱。你應該可以通過使用諸如rowData.getColumnValue(「mycustomurl」)之類的東西來計算它(點擊屬性旁邊的小鑽石)。這假設您的視圖中有一列名爲mycustomurl的列,其中包含要鏈接到的網址。

我不知道關於不同的URL類型我還沒有嘗試過他們從Xpage和尚未啓動。

希望這有助於

利亞

+0

換句話說,他說。只是開玩笑稍微不同的方式來做到這一點。 :) – 2012-07-09 19:16:57