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などを用いることで複数のオブジェクトを渡すことが出来ます。