Tuigwaaの基本的なプラグインは、日時を表示したり、ページ名を表示したりといった表示系のプラグインから、 フォームからの入力を受け取ってデータベースにデータを登録するようなプラグインまであります。 ここでは、基本的な表示系のプラグインの開発方法について説明します。
表示系のプラグインの開発方法としては、基本的なものと、Velocity を利用するものの二種類があります。 基本的な手順としてはどちらも
Tuigwaaで「HelloWorld」を表示するプラグインを作成する方法を解説します。
プラグインを設置する場所はどこでも良いのですが、わかりやすくするために「org.seasar.tuigwaa.plugin.custom」にします。
「org.seasar.tuigwaa.plugin.AbstractPlugin」を拡張し、「HelloWolrdPlugin」クラスを作成します。
抽象メソッド「doHTMLView」を実装します。
package org.seasar.tuigwaa.plugin.custom; import org.seasar.tuigwaa.cms.core.CmsRequest; import org.seasar.tuigwaa.cms.core.CmsResponse; import org.seasar.tuigwaa.plugin.AbstractPlugin; import org.seasar.tuigwaa.plugin.PluginException; import org.seasar.tuigwaa.plugin.PluginRequest; public class HelloWorldPlugin extends AbstractPlugin { public String doHTMLView(CmsRequest request, CmsResponse response, PluginRequest prequest) throws PluginException { return "<b>Hello Tuigwaa World</b>"; } }
プラグインで出力したい文字列を返します。ここでは<b>Hello Tuigwaa World</b>という文字列を返すよう設定しました。
Velocityを利用するプラグインを作成する方法を解説して行きます。
前回と同様、「org.seasar.tuigwaa.plugin.custom」以下にクラスを作成します。
「org.seasar.tuigwaa.plugin.basic.VelocityPlugin」を拡張し、「HelloWordlPlugin2」クラスを作成します。
「doHTMLView」メソッドをオーバーライドします。
package org.seasar.tuigwaa.plugin.custom; import org.seasar.tuigwaa.cms.core.CmsRequest; import org.seasar.tuigwaa.cms.core.CmsResponse; import org.seasar.tuigwaa.plugin.PluginException; import org.seasar.tuigwaa.plugin.PluginRequest; import org.seasar.tuigwaa.plugin.basic.VelocityPlugin; public class HelloWorldPlugin2 extends VelocityPlugin { public String doHTMLView(CmsRequest request, CmsResponse response, PluginRequest prequest) throws PluginException { String message = "hello tuigwaa world"; return doHTMLViewBindingObject(request,response,prequest, message); } }
VelocityPluginのdoHTMLViewBindingObjectを呼び出します。
VelocityにはListやMapなどを用いることで複数のオブジェクトを渡すことが出来ます。