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
これだけで完了です。簡単に動的なフォームページが作成可能です。
以下のフォームはサンプルの実行例です。
テストフォーム