Looking for xpages Answers? Try Ask4KnowledgeBase
Looking for xpages Keywords? Try Ask4Keywords

xpagesxpagesの使い方


備考

XPagesは、IBM Notesプラットフォーム用のWebフレームワークです。 Lotus Domino 8.5で導入されました(確認が必要です)

これは、JSF(JavaServer Faces)に基づいており、IBM Notesデータを表現し操作するのに便利な拡張機能を多数備えています。

IBMはXPageのチュートリアルを提供しています。https : //www-10.lotus.com/ldd/ddwiki.nsf/dx/Tutorial-intro-to-XPages.htm

シーンの背後にあるバックエンドXPagesには、HTMLに似たXMLファイルがあります。 Domino Serverは最終的に実際のHTMLを作成し、これらのページをクライアントに送信します。ビジネスロジックはネイティブ JavaScript( "clientside JavaScript - CSJS")と擬似 JavaScript( "serverside JavaScript - SSJS")で実装されています。

インストールまたはセットアップ

XPagesはIBM Domino Designerの一部です。 XPageには余分なセットアップやインストールは必要ありません。


最初のXPage / Hello-World-例

最初のXPageを作成するには、最初に新しいNSFを作成する必要があります。 IBM Domino Designerを開き、「 ファイル 」 - >「 新規 」 - >「 アプリケーション 」メニューを開きます。

ポップアップダイアログで次の設定を行います:

  1. NSFが作成されるサーバを選択します(「ローカル」でもかまいません)。
  2. 次に、「 Hello World NSF 」などのタイトルを入力します。
  3. 次に、新しいNSFのファイル名を入力します(例: " hello-world.nsf ")。
  4. "Encription ..."ボタンを無視して、デフォルト設定を維持します。
  5. フルインデックス 」オプションをチェックします。
  6. 次に、[OK]をクリックします。

新しいNSFが作成されます。

アプリケーションナビゲータのセクション「XPages」を右クリックし、「 new XPage ... 」を選択します。

  1. 新しいXPageのタイトルを入力します(例: " HelloWorld ")。これにより、 "HelloWorld.xsp"という名前のファイルが作成されます。
  2. この簡単な例では、コメントフィールドは空のままにすることができます。
  3. [OK]をクリックすると、ページが作成されます。

新しい[HelloWorld XPage]をダブルクリックします。これは[XPages]セクションにあります。

「ソース」(エディタの一番下にある)タブを選択し、ページに簡単なテキストフィールドコンポーネントを追加します。これが結果になるはずです。

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" pageTitle="Hello My World">

  <xp:text id="simpleTextField" value="Hello World!!!!" />

</xp:view>
 

ページを保存してプロジェクトをビルドします(アプリケーション "Hello World NSF"を右クリックし、メニューエントリ "build"を選択します)。

次に、Internet Explorerのようなブラウザを開き、アプリケーションのNSFの新しいXPageに移動します。たとえば、 " http://mydominoserver.com/hello-world.nsf/HelloWorld.xsp "と入力すると、Hello Worldテキストが表示されます。

XPagesでmessage.propertiesを含む外部テキストを使用する

準備する

まず、 " message.properties "ファイルをResources / Files /に作成します。例:

##############
# Test message.properties
##############
label.age=Enter your age:
validate.error.reqired.age=Sorry, but you have to give away the secret of your age ...
 

次に、リソースをXPageまたはカスタムコントロールに接続します。

<xp:this.resources>
    <xp:bundle src="/messages.properties" var="appMsg" />
    ....
</xp:this.resources>
 

注: "var"は、XPageまたはカスタムコントロールでメッセージマップを参照するために使用する名前を定義します。

使用法

これで、サーバー側のJavaScript( #{javascript:appMsg.getString('...')} )またはEL( #{appMsg['...']} )でメッセージマップを使用できるようになりました。

使用例:

...
<!-- to show the error message: -->
<xp:messages />

<!-- use with ssjs: -->
<xp:text value="#{javascript:appMsg.getString('label.age')}" escape="false" />

<!-- use with EL: -->
<xe:djNumberSpinner value="#{myDoc.age}" maxLength="2" javaType="int">
    <xp:this.validators>
        <xp:validateRequired message="#{appMsg['validate.error.reqired.age']}" />
    </xp:this.validators>
</xe:djNumberSpinner>
...