Xpage對於計算欄位控制項中的HTML標記,會當作普通文字。若要使其顯示為HTML則要將「內容」→「基本」→「escape」屬性設為"false".
--
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
2010年3月9日 星期二
2010年3月2日 星期二
Xpage-網頁間的資料傳遞?
網頁間傳遞資料最常用的就是Post或者Get,但今天卻突然發現自己不知道Xpage裡面要怎麼做!趕緊查了一下Xpage wiki。
總是有好心人會提供範例:
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
總是有好心人會提供範例:
q = facesContext.getExternalContext().getRequest().getQueryString();
k="UXID";
v=0;
if (q.indexOf(k+"=")>-1) {
v = q.substring(q.indexOf(k+"=")+k.length()+1, q.length());
v = (v.indexOf("&")>-1?v.substring(0,v.indexOf("&")):v2);
}
if (v == "insert") return '1';
利用" facesContext"來取得QueryString
然後再用程式去解析字串∼上例是取出"UXID="後面到"&"之前的字串。
因為我是用來做隱藏條件,所以再加一行判斷式若是"insert"則傳回1,表示「可見的!」
-- 然後再用程式去解析字串∼上例是取出"UXID="後面到"&"之前的字串。
因為我是用來做隱藏條件,所以再加一行判斷式若是"insert"則傳回1,表示「可見的!」
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
標籤:
Lotus Notes,
programmer,
Xpage
2010年2月24日 星期三
Notes-Web化的苦痛:時間選擇器
在Notes還沒有Xpage的時代裡,要將應用程式Web化有幾個特別痛苦的地方。
1.人員名錄選擇器
2.時間選擇器
3.日期選擇器
…
(↑依照痛苦指數排名)
日期、時間網路上到還有JavaScript的解決方案可以選。
只是要放在Nsf裡面需要一些技巧。而人員名錄就真的只能硬Code了。
自己做子表單、嵌入視界、用JS抓勾選欄位的UNID、再用代理程式撈資料回來…
十分麻煩。雖然之前已經有前輩所作的模組,不過要搬過來要遷就它反而麻煩。
這一部份有空再來整理。先講一下「時間選擇器」搬進Notes裡面的方法。
Timepicker模組有兩部份:圖片、JS檔
1.JS檔的部份把程式碼Copy出來,放到Script程式庫然後再於表單的JS表頭引用即可
2.圖片的話必須注意配合放置的路徑。放到NSF檔中的"資源/圖片"裡要引用實在是很
痛苦,而且各AP之間無法共用。所以我是放到"data\domino\icons"下面。
將ImagesPath目錄設為:"/icons/"即可被抓到。
3.在表單中加入這行:
p.s.AwayTime是欄位名稱
完成後如下:
p.s.2
Web開發時,ID不要漏掉。JavaScript很依賴他的!

--
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
1.人員名錄選擇器
2.時間選擇器
3.日期選擇器
…
(↑依照痛苦指數排名)
日期、時間網路上到還有JavaScript的解決方案可以選。
只是要放在Nsf裡面需要一些技巧。而人員名錄就真的只能硬Code了。
自己做子表單、嵌入視界、用JS抓勾選欄位的UNID、再用代理程式撈資料回來…
十分麻煩。雖然之前已經有前輩所作的模組,不過要搬過來要遷就它反而麻煩。
這一部份有空再來整理。先講一下「時間選擇器」搬進Notes裡面的方法。
引用:暗黑執行緒的這篇
http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/09/04/code-javascript-time-picker.aspx
以及所使用的Timepicker模組。
Timepicker模組有兩部份:圖片、JS檔
1.JS檔的部份把程式碼Copy出來,放到Script程式庫然後再於表單的JS表頭引用即可
2.圖片的話必須注意配合放置的路徑。放到NSF檔中的"資源/圖片"裡要引用實在是很
痛苦,而且各AP之間無法共用。所以我是放到"data\domino\icons"下面。
將ImagesPath目錄設為:"/icons/"即可被抓到。
3.在表單中加入這行:
<script type="text/javascript">afa_ExtendTimePicker("AwayTime");</script>並選取文字~透過HTML即可。
p.s.AwayTime是欄位名稱
完成後如下:
p.s.2
Web開發時,ID不要漏掉。JavaScript很依賴他的!

--
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
標籤:
Lotus Notes,
programmer,
Xpage
2010年2月21日 星期日
Xpage - 視圖 -自訂超連結
在XPage裡面我們可以很方便的取用視圖內容,呈現在網頁上。
而只要設定幾個步驟就可以用連結的方式開啟文件。那、如果是要開啟自訂的超連結呢?
假設我的世圖中有一欄位DBPath是放電子表單資料庫路徑、eFormName是名稱。
請將來源視圖中的欄位作如下設定:
p.s.加前後"中括號"是為了相容傳統Web方式。
--
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
而只要設定幾個步驟就可以用連結的方式開啟文件。那、如果是要開啟自訂的超連結呢?
假設我的世圖中有一欄位DBPath是放電子表單資料庫路徑、eFormName是名稱。
請將來源視圖中的欄位作如下設定:
"[<a href=\\" + DBPath + " target=_blank >"+eFormName+"</a>]"
p.s.加前後"中括號"是為了相容傳統Web方式。
--
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
2010年2月12日 星期五
Xpage上要如何調用CGI變數
Notes傳統開發Web的時候,可以將欄位名稱設CGI變數名稱,以取得CGI變數資料。
例如使用者IP、HTTPS狀態、Server Name等。
但我們在Xpage上無法再用設定欄位名稱的方式來取得CGI變數資料。
而computeWithForm = both的方式只能用在@Formula上。
所幸我們有現成的程式庫可以達成這需求:
1.到Demo Discussion(討論區範本)中把程式庫:xpCGIVariables搬回來。
2.在程式中我們用Server端的JavaScript去呼叫並取用它:
--
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
例如使用者IP、HTTPS狀態、Server Name等。
但我們在Xpage上無法再用設定欄位名稱的方式來取得CGI變數資料。
而computeWithForm = both的方式只能用在@Formula上。
所幸我們有現成的程式庫可以達成這需求:
1.到Demo Discussion(討論區範本)中把程式庫:xpCGIVariables搬回來。
2.在程式中我們用Server端的JavaScript去呼叫並取用它:
facesContext.getExternalContext().getRequest().getRemoteAddr());
而我則是把它作成一個「自訂控制項」來方便取用這些CGI資訊
類似傳統上作成「子表單」的方式。
類似傳統上作成「子表單」的方式。
--
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
標籤:
Lotus Notes,
programmer,
tech,
Xpage
2010年2月10日 星期三
Xpage_檔案上傳救星
從前Notes Web的檔案上傳真是一場惡夢!
現在Xpage來救你了!
然後把上傳元件、下載元件都繫結過去就OK啦!
如下:
--
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
標籤:
Lotus Notes,
programmer,
tech,
Xpage
2010年2月4日 星期四
Notes(NSF檔)中調用圖片及CSS

一
將一般路徑:images/img01.gif
改成: ./img01.gif
二
Xpage中的空白字元代碼:&#160;
三
網路上寫好的CSS檔要拿到Notes裡面使用。由於使用Xpage的「自訂控制項」放入Xpage裡面後ID會被改掉,所以CSS檔裡面ID宣告法(用"#"做開頭的定義),必須改為Class(用"."做開頭的定義)的方式。而原本頁面中引用ID的地方,必須再去指定他的Class。
選擇器 {p.s.1.頁面中原先使用id宣告的部份若是有多層,則設定Class時也必須手動上層的Class定義加進來。
屬性:設定值;
...
}
p.s.2.注意!在修改ID成Class時不要用「全部尋找/取代」的方式,不然會把色彩設定的#也改到。
四
當使用Xpage出現「未授權檢視此網頁」時,除了注意ACL中
Anonymous是否有加入並給予權限。
另外也檢查一下是否使用正確的ID建立Nsf檔!
--
看到、想到、說到、做到
能夠填平大海的誓言,也比不上邁出一步的價值
是以吾輩此生,再無任何誓言
標籤:
Lotus Notes,
programmer,
tech,
Xpage
訂閱:
意見 (Atom)







