2010-05-29

Lotus Script 如何取出 Query String 的變數 ?


Lotus Domino 會把使用者傳進來的 Query String 放到 session.DocumentContext 的 Query_String 這個預設欄位裡,因此,只要先取出 Query String 之後,就可以來進行字串的整理來取得傳入的各個數了。
阿舍的做法是想要從 Query String 裡取出 Key - Value 的陣列,在 Lotus Script 裡的這種陣列叫做 List ,所以,阿舍下面的這個函數會需要傳入一個 List 變數來傳回一個 Key- Value 的陣列...

Function initParament(strQueryString As String,strParament List As String) As Integer

  On Error Goto errorHandler

  Dim vntBuffer as Variant
  Dim i as integer
  Dim strParaName as String

  vntBuffer = Split(strQueryString,"&")
  intParament = Ubound(vntBuffer)
 
  For i=1 To getParament
    strParaName = Split(vntBuffer(i),"=")
    strParament(strParaName(0)) = strParaName(1)
  Next

  Exit Function

  errorHandler:
  Print "Error" & Str(Err) & ": " & Error$ & " on line " & Cstr(Erl)
End Function


下面是應用的範例 ( 假設會傳入 uid 及 img 兩個變數 )...

On Error Goto errorHandler

Dim session As New NotesSession
Dim intVarNum As Integer
Dim strParamentList List As String

Set doc = session.DocumentContext

intVarNum = getParament(doc.Query_StringDecoded(0),strParamentList)

print "uid = " & getParament('uid')
print "img = " & getParament('img')


[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

好文不藏私,請多分享囉!! ^^=



沒有留言 :

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !