統合オブジェクト・テンプレート変更のサンプル

統合オブジェクト・テンプレート変更のサンプルを参照してください。HPubTemplateHODBean.Customize にコードを追加して作成された 統合オブジェクト・テンプレートの例が含まれています。

HPubTemplateHODBean.Customize にコードを追加して 作成されたサンプル統合オブジェクト・テンプレートが、本書の HTML バージョン に含まれています。このサンプルを表示するには、「 統合オブジェクト・テンプレート変更のサンプル」を参照してください。

このでは、カスタム画面認識基準の使用法を示します。この基準は、該当する画面の記述内のマクロに追加され、テンプレートで定義された DoReco() メソッドを呼び出します。DoReco() は、extendedxml という XML ストリング内のホスト画面のフィールドをすべて保管します。統合オブジェクトの実行後に JSP で値を抽出できるようにするため、getter メソッド getExtendedxml() が提供されています。テンプレートに加えられた変更には、// ADDED FOR XML TABLE というコメントが付けられます。

カスタム画面認識基準 (ディスクリプター) を使用すると、統合オブジェクトによって検出されたあらゆる画面のコンテンツを取り込むことができます。ホスト画面が変更された場合や画面が認識された場合、統合オブジェクトには通知がされません。カスタム画面認識基準を挿入することにより、任意の画面を処理できます。

テンプレートに追加されたコードを呼び出すには、統合オブジェクトの構築に使用するマクロを変更する必要があります。情報の取り込み元となる画面を見つけて、次の行を最後のディスクリプターとして追加します。
<customreco id="HPubExtractFieldAttributes|" optional="false" invertmatch="false" />
このディスクリプターは、希望する画面でのみ使用されるように、その他のディスクリプター の後に追加してください。そうしないと、別の画面からデータが収集される場合があります。customreco ID は "HPubExtractFieldAttributes" ですが、マクロに追加された行は "HPubExtractFieldAttributes|" であることに注意してください。バー文字 (|) は、パラメーター間の分離文字として使用されていますが、パラメーターがない場合でも組み込む必要があります。

マクロが uselogic 属性を使用してディスクリプターを結合する場合は、新規ディスクリプターを組み込むために uselogic 値を更新する必要があります。そうしないと、新規ディスクリプターは無視されます。マクロに加える変更の例を次に示します。元の画面が次のような記述であるとします。

<screen name="Screen2.2" entryscreen="true" exitscreen="true" transient="false">
        <description uselogic="1 and 2" >
            <oia status="NOTINHIBITED" optional="false" invertmatch="false" />
            <string value="Ready; T" row="1" col="1" erow="-1" ecol="-1" 
						casesense="true" optional="false" 	invertmatch="false" />
        </description>
この場合、新規ディスクリプターを追加し、uselogic を変更した画面記述は 次のようになります。
<screen name="Screen2.2" entryscreen="true" exitscreen="true" transient="false">
        <description uselogic="1 and (2 and 3)" >
            <oia status="NOTINHIBITED" optional="false" invertmatch="false" />
            <string value="Ready; T" row="1" col="1" erow="-1" ecol="-1" 
						casesense="true" optional="false" invertmatch="false" />
            <customreco id="HPubExtractFieldAttributes|" optional="false" 
						invertmatch="false" />
        </description>

DoReco() メソッドが呼び出されると、テンプレートは、それが「HPubExtractFieldAttributes|」カスタム・ディスクリプターを処理するために 呼び出されているのかどうかを確認します。そうである場合は、画面から情報が取り込まれ、そうでない場合は、他のいずれかのディスクリプターを使用して画面認識を実行するために 制御を親メソッドに渡します。統合オブジェクトの完了後、呼び出し側の JSP は getter メソッドを使用して XML ストリングを取得し、処理できます。