「【Wicket】フォームを使うときのTips」の編集履歴(バックアップ)一覧はこちら

【Wicket】フォームを使うときのTips」(2007/10/04 (木) 20:39:38) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

フォームを使うときの注意点をまとめてみます。 *●FormをPageに追加(add)するのは、Formにコントロールを追加した後で。 addメソッドの中で、htmlのタグとコンポーネントの関連付けを実行しているようで(たぶん)Formに必要なコンポーネントを追加する前に、FormだけWebPageに追加してしまうと、エラーで落ちます。 *●Formの入力値を受け取るModelをセットしておかないと、サブミット(ポストバック?)したときにエラーで落ちます。 Wicketは、Formの入力値を受け取るためのモデルを事前にWebPageに設定しておく必要があります。 これを忘れると、サブミットしたときにエラーで落ちます。。トホホ。 >こんなエラーが出ます。 > WicketMessage: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component [MarkupContainer [Component id = form, page = net.mekefactory.wicket.TextField1Page, path = 1:form.Form, isVisible = true, isVersioned = true]] threw an exception > Root cause: > java.lang.IllegalStateException: Attempt to set model object on null model of component: form:text と思ったら、-[[「サンプルのソースを見る」の第3回、unicode converter編>http://d.hatena.ne.jp/Groovy/20070529/1180435797]] の解説を見ると、コンポーネントが参照するモデルを解決する方法が書かれていました。 +コンポーネントのコンストラクタで指定 +コンポーネントが属するフォームのコンストラクタで指定 +ページに指定 の順番で探しにいくのかな? 値の受け渡しに必ずモデルを用意する必要があるのは、ちょっと面倒くさいなぁ。 何か楽な方法があるのだるか・・・?(ダメ)
フォームを使うときの注意点をまとめてみます。 *●FormをPageに追加(add)するのは、Formにコントロールを追加した後で。 addメソッドの中で、htmlのタグとコンポーネントの関連付けを実行しているようで(たぶん)Formに必要なコンポーネントを追加する前に、FormだけWebPageに追加してしまうと、エラーで落ちます。 *●Formの入力値を受け取るModelをセットしておかないと、サブミット(ポストバック?)したときにエラーで落ちます。 Wicketは、Formの入力値を受け取るためのモデルを事前にWebPageに設定しておく必要があります。 これを忘れると、サブミットしたときにエラーで落ちます。。トホホ。 >こんなエラーが出ます。 > WicketMessage: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component [MarkupContainer [Component id = form, page = net.mekefactory.wicket.TextField1Page, path = 1:form.Form, isVisible = true, isVersioned = true]] threw an exception > Root cause: > java.lang.IllegalStateException: Attempt to set model object on null model of component: form:text と思ったら、-[[「サンプルのソースを見る」の第3回、unicode converter編>http://d.hatena.ne.jp/Groovy/20070529/1180435797]] で解説されている内容を見ると、コンポーネントが参照するモデルを解決する方法が書かれていました。 +コンポーネントのコンストラクタで指定 +コンポーネントが属するフォームのコンストラクタで指定 +ページに指定 の順番で探しにいくのかな? 値の受け渡しに必ずモデルを用意する必要があるのは、ちょっと面倒くさいなぁ。 何か楽な方法があるのだるか・・・?(ダメ)

表示オプション

横に並べて表示:
変化行の前後のみ表示: