1

改札は初めてですので、ご容赦ください。

ウィケットのほとんどの例は、ウィケットIDを使用して、内部HTMLをさまざまなものに自動的に置き換える方法を示しています。この知識を使用して、さまざまなものに対応する多くのフォーマットとJQueryを備えたフォームをHTMLで手書きし、Wicketを使用して2つの選択ボックスの情報を自動生成しました。しかし、提出された情報をWicket側で解析しようとすると、混乱します。

私がそれを簡単に理解した唯一の方法はRequestCycle.get().getRequest().getRequestParameters().、渡されたすべての情報を取得するために使用することです。それは機能しますが、それがWicketを使用する理想的な方法ではないと思います。リクエストハンドラーを使用する方法もあるようですが、特に新しい6.0.0リリースでは多くのドキュメントが古くなっているため、どこから始めればよいのかわかりません。

フォームでWicketを使用する方法は何ですか?フォームの大部分を手書きし、Wicketに一部の情報のみを自動生成させ、RequestCycleを使用しますか?スケルトンフォームを作成し、Wicketに残りを自動生成させ、多くの送信ハンドラーを使用しますか?これは、わかりやすい初心者向けチュートリアルのどこに文書化されていますか?

注:私のフォームには、動的に作成され(「ここをクリックしてオプションを追加する」と考えてください)、AJAXを使用してバックグラウンドで送信され、検証されてからクリアされるいくつかのフィールドがあります。これはWicket側を複雑にする可能性がありますが、機能要件です

4

1 に答える 1

4

Wicketを使用すると、HTMLマークアップをテンプレートであるかのように考えることができます。マークアップは実際にはほぼ標準のHTMLです。wicket:id特定の動作またはロジックがアタッチされるすべてのもの(フォーム、ボタン、リンク)、またはサーバー側の処理が必要なすべてのもの(フォームコンポーネント、ネストされたカスタムコンポーネント、パネルなど)の属性を定義できます(定義する必要があります)。それ以外はすべて、マークアップと同じように応答に出力されます。

Wicketはフォームの送信を処理し、リクエストを処理します。Wicketでは、フォームコンポーネントは通常サーバー側で定義され、Formコンポーネントに追加されます。FormコンポーネントのではonSubmit()、Wicketはすでにリクエストを処理しており、送信された値はFormComponentのモデルで利用できるようになります。

したがって、Wicketがフォームの送信を処理するための理想的な方法は、フォーム内のコンポーネントをサーバー側で作成することです。

Form次のWicketの例のページは、いくつかを含む基本を示していますFormComponents。Wicketの例-forminput。あなたもそのソースコードを見ることができます。

また、次のWicketwikiページが役立つ場合があります。Wicketでの操作方法-フォーム

動的コンポーネントの作成に関しては、新しい動的コンポーネントを作成する必要があるときはいつでも、たとえば、コンポーネントサーバー側(ListViewたとえば、ラップされている)を作成するAjaxリクエストを作成し、ajaxコールバックでマークアップを更新できます。

このようなリストの例をここに示します。Wicketの動作-ListEditorフォームコンポーネントの構築

付け加えると、WicketinActionの本はWicketを学ぶための優れたリソースであることがわかりました。第6章-フォームを使用してユーザー入力を処理することは、主題について詳しく説明します。

于 2012-09-10T15:25:30.327 に答える