JSPWikiのフォーム

JSPWikiのWebForms Pluginの使い方です。当サイトもJSPWikiを使用しており、オンラインツールはWebFormsプラグインを使って実現しています。

プラグインのセットアップ

JSPWikiバージョンが 2.1以降では標準でWebFormsが含まれており、設定は不要です。

簡単な例

FormSet, FormOutputなどを使ってページを作成します。以下は例です。

テストフォーム

[{FormSet form='testForm'}]
[{FormOutput form='testForm' handler='TestForm'}]
[{FormOpen form='testForm'}]
__何か入力してください__\\
[{FormTextarea name='str' rows=5 cols=30}]
![{FormInput name='smt' type='submit' value='送信'}] 
[{FormClose}]

フォームハンドラ

フォームがsubmitされた際に呼び出されるハンドラをJavaで作成します。FormOutputのhandlerで指定されたクラスが呼び出されます。このクラスは com.ecyrd.jspwiki.plugin.WikiPluginインターフェースを実装します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import com.ecyrd.jspwiki.WikiContext;
import com.ecyrd.jspwiki.TextUtil;
import com.ecyrd.jspwiki.plugin.WikiPlugin;
import com.ecyrd.jspwiki.plugin.PluginException;
 
import java.util.Map;
 
public class TestForm implements WikiPlugin{
 
    public String execute(WikiContext context, Map params)
                                throws PluginException{
 
        String str = (String)params.get("str");
        str = TextUtil.replaceEntities(str == null"" : str);
        return "あなたの入力は <b>" + str + "</b> です。";
    }
}

コンパイルし、CLASSPATHの通った場所(WEB-INF/classesなど)にclassファイルをコピーします。

javac -classpath ${tomcat.webapp.dir}/WEB-INF/lib/JSPWiki.jar TestForm.java
cp TestForm.class ${tomcat.webapp.dir}/WEB-INF/classes

これだけで完了です。簡単に動的なフォームページが作成可能です。

サンプル

以下のフォームはサンプルの実行例です。


テストフォーム

何か入力してください