slack

テクてく Lotus 技術者 Slack に参加しよう!

2011/05/30

Notes 開発者のための XPages SSJS 解説 (3)

今回は XPages 開発の JavaScript コーディングで頻繁に出てくる XSP ライブラリとバックエンドライブラリをしっかりと理解したいと思います。

XPages は LotusScript のクラスと同様、オブジェクトにはフロントエンドの文書/ビューを扱う XSP ライブラリバックエンドの文書/ビューを扱う Domino ライブラリがあります。

Domino ライブラリを使用して、現在ページ表示しているデータベースとは違う他のデータベースを参照したり、今ページ上で開いている文書以外の文書にアクセスできます。要は、ユーザーインタフェース(ページ)に見えていないものを扱います。
これに対して、フロントエンドの XSP ライブラリはヘルプで「XSP」、「Xsp」というオブジェクトの名前がついています。。XSP や Xsp という言葉を見つけたら、それはフロントエンドのオブジェクトだと思ってください。
LotusScript クラスでフロントエンドというと「UI」にあたるんですが、考え方は同様です。
ブラウザ中にまさに表示されているページで扱えるものです。Domino 文書をデータソースで使用していれば文書を、Domino ビューをページで表示していればそのビューが XSP オブジェクトとして扱えます。

(補足: ここで「XSP ライブラリ」と「XSP オブジェクト」という言葉を使用していますが、ライブラリはそれぞれのオブジェクトの集まりと理解してください。)


話をグローバルオブジェクトに戻しますが、
ヘルプでのグローバルオブジェクトおよびグローバル関数
currentDocument と dominoDocument1 のそれぞれの説明にこうあります。
currentDocument 現行コンテキストで最も近くにある文書を表す NotesXspDocument オブジェクト。
dominoDocument1 Lotus Domino 文書データソースを表す NotesXspDocument オブジェクト。
ちなみに dominoDocument1 は仮の名前で、XPage でデータソースの名前を指定しますが、そのデータソース名です。仮りに皆さんの指定したデータソース名を dominoDocument1 として説明しています。

currentDocument も dominoDocument1 も NotesXspDocument を表していることから、使用できるメソッド、プロパティはヘルプの NotesXspDocument のこちらの章になります。
メソッド、プロパティの数はそんなに多くないのでヘルプで確認してください。

NotesXspDocument ではページ上の文書アイテムの値を取得する関数が、データ型によって厳密に操作できるようになっています。LotusScript の NotesUIDocument クラスでは「FieldGetText」でテキストとして値の取得のみでしたが。


ヘルプにはサンプルのコードが少ないので、Lotus Notes and Domino Application Development wiki の「NotesXSPDocument sample JavaScript code for XPages」が役に立つと思います。



次回は Domino ライブラリを取り上げる予定です。

0 件のコメント:

コメントを投稿