WebWrapperとは何か?
WebWrapperは、GeneXusで提供されるデータタイプの一つであり、Webオブジェクトの実行結果(生成されたHTMLコード)をカプセル化し、目的に応じて処理することを可能にします。特に、この機能を使用することで、メールでWeb Panelオブジェクトを送信するなど、従来の方法では実現が難しかった処理が可能になります。
WebWrapperの機能
WebWrapperには、主に以下の機能があります。
機能 | 説明 |
---|---|
Webオブジェクトの実行結果の取得 | Web PanelやWeb ComponentなどのWebオブジェクトを実行し、その結果として生成されたHTMLコードを取得できます。 |
HTMLコードの操作 | 取得したHTMLコードに対して、文字列操作などを行うことができます。 |
外部への出力 | 加工したHTMLコードを、ファイルやメール、別のWebオブジェクトなどに出力できます。 |
WebWrapperの使用例
例1: Web Panelの内容をメール送信する
Web Panelで作成したレポートを、メールで送信したい場合などに使用します。
<GeneXus code>
// WebPanelオブジェクトを呼び出す
&WebPanel1.Call()
// WebWrapper変数を定義
&MyWrapper = New WebWrapper()
// WebPanelの実行結果をWebWrapperに格納
&MyWrapper.SetFrom(&WebPanel1)
// メール送信処理
&Mail.To = "[email protected]"
&Mail.Subject = "レポート"
&Mail.Body = &MyWrapper.GetHTML()
&Mail.Send()
</GeneXus code>
例2: Web Componentの内容を別のWeb Panelに埋め込む
Web Componentで作成した機能を、別のWeb Panelの一部として表示したい場合などに使用します。
<GeneXus code>
// Web Componentオブジェクトを呼び出す
&WebComponent1.Call()
// WebWrapper変数を定義
&MyWrapper = New WebWrapper()
// Web Componentの実行結果をWebWrapperに格納
&MyWrapper.SetFrom(&WebComponent1)
// 別のWeb Panelに変数を渡す
&WebPanel2.MyHTML = &MyWrapper.GetHTML()
&WebPanel2.Call()
</GeneXus code>
参考資料
* GeneXus Wiki - Web Wrapper データタイプよくある質問
Q1: WebWrapperはどのような場面で使用すると良いですか?
A1: Web Panelの内容をメールで送信する場合や、Web Componentの内容を別のWeb Panelに埋め込む場合など、Webオブジェクトの実行結果を再利用したい場合に有効です。
Q2: WebWrapperを使用する際の注意点はありますか?
A2: WebWrapperで取得したHTMLコードは、実行時の環境に依存するため、異なる環境で実行した場合はレイアウトが崩れる可能性があります。そのため、CSSなどを適切に設定する必要があります。
Q3: WebWrapperはどのようなGeneXusのバージョンから使用できますか?
A3: GeneXusのバージョンによって利用可能な機能が異なりますので、詳細についてはGeneXusのドキュメントをご確認ください。
その他の参考記事:jquery wrap