Wicket

Wicket ListView のイテレータ を無理やり Stream で処理してみる

Wicket の ListView が提供する itarator メソッドは、以下のような使い方もできる。無理やり、イテレータを Stream に変換して処理してみた。 final WebMarkupContainer listViewContainer = new WebMarkupContainer("listview_container"); listViewContai…

AjaxTabbedPanel 内に配置した入力フィールド値をタブ切り替え時に受け取る

Wicket の AjaxTabbedPanel を使った時に、タブの中に配置した入力フィールドの値をフォーム送信ボタンによる受信ではなく、 タブのクリック=タブ切り替えのタイミングで受け取る方法に悩んだ。org.apache.wicket.extensions.markup.html.tabs.TabbedPanel …

Reloading this page will cause modal window to disappear を回避

Wicket の モーダルウィンドウを閉じる時に、ページ遷移 setResponsePage を何も対処せずに実行すると、、 Reloading this page will cause modal window to disappear が発生してしまう。 これを回避するには、モーダルウィンドウを設置するページで初期処…

Wicket AjaxButton onSubmit の前に JavaScript を差し込む

Wicket の AjaxButton onSubmit の実行前に処理したいJavaScript がある場合、 わざわざ jQuery で $( ボタンセレクタ ) .click( function(){ ...} ); のソースを用意して JavaScriptHeaderItem.forReference で読み込ませる方法にするか、 生成したAjaxButt…

Wicket のタブで、フォーム入力を保持した切り替え

1年半くらい前、Wicket のTab ・・・org.apache.wicket.extensions.markup.html.tabs パッケージの一連のタブを使用する時のデザインを書いたことがある。 Wicket のタブページ作成作業 - Oboe吹きプログラマの黙示録 この時デザインの事しか書かなかった、…

methods on autocomplete prior to initial

Wicket モーダルウィンドウに Autocompleteや Datepicker を配置した時、選択の前にウィンドウを閉じた場合に残る Autocompete やカレンダー表示などが残ってしまう問題、 これを回避するために、、 $('div[class="w_caption"]').mouseover(function(){ $('i…

Wicket 7 で DateTimeFormatterがエラー

Java8 、 Wicket 7 で開発していたら、Page 生成で 以下のように、java.time.LocalDate を DateTimeFormatter でフォーマット化して表示しようとすると、 error delegating to writeObject : java.time.format.DateTimeFormatter org.apache.wicket.WicketRu…

Wiclet 6.x から change ビヘビアの捕捉名。。。

Wicket で、チェックボックスやプルダウンなど changeイベント捕捉した処理を AjaxFormComponentUpdatingBehavior で "onchange" をインスタンス生成文字列にしていた。 component .add(new AjaxFormComponentUpdatingBehavior("onchange"){ @Override prote…

Wicket Panel の中に配置した入力フィールド

Wicket の Panel を Form の中に配置してPanel内の入力フィールドを、 getRequestCycle() で入力値を受け取るときのキーは、 "PanelのWicket-ID" + ":" + "inputのWicket-ID" というキーになる。":" 区切りである。 Webmarkupコンテナの中に配置した場合は、…

ListView スクロールで追加

Wicket の基本かも知れないが、、、 ListView で、リストが追加された時に、すべてのリスト要素に対する populateItem が実行されないように、 追加分だけ実行させるには、 setReuseItems(true)を、ListView で実行する。 確認の為のコード、サンプル。 スク…

Wicket の IRequestParameters と Java8

Wicket でプログラムを書いていて、form送信結果を取得するのに、 getRequestCycle から、org.apache.wicket.request.IRequestParameters を取得して 抽出することはあまりやらないのだけど、 IRequestParameters#getParameterNames() で、受け取るパラメー…

IChoiceRenderer ラムダ化

Wicket7 の IChoiceRenderer で 選択したものを特定するのに getObject で 先日書いた実装するくらいなら、getObject は、default メソッドにして、 プルダウンとして表示する <option>タグbody を決定する IChoiceRenderer#getDisplayValue の方をラムダ式にしたく</option>…

Wicket7 の IChoiceRenderer

Wicket7 では、IChoiceRenderer の実装しなくてはならないメソッドが増えている! public T getObject(String id, IModel> choices) DropDownChoice で IChoiceRenderer を使う場合、getModelObject() で取ってくるものをこのメソッドを実装して返さなくては…

Java8 StreamでWicket ListViewセル結合

昨日書いた groupingBy の利用として、HTML-tableタグ rowspan結合をサンプルとして作ってみました。 keyでグルーピング可能な任意オブジェクトリストを受け取って最終目的は以下のような表を作ることです。 Wicket の ListView でこの表を作ります。 対象の…

AjaxButton でダウンロード実行

Wicket の AjaxButton でファイルダウンロードを実装しようと、ファイルダウンロードの方法自体に、いろんな方法があるだろうけど、、 IRequestHandler handler = new ResourceStreamRequestHandler(resource,downloadName); getRequestCycle().scheduleRequ…

AjaxFormComponentUpdatingBehavior を使う

Wicketで、イベントを処理するのに、よく使われるのが、 AjaxEventBehavior でも、フォームコンポーネントの要素、input 、 select タグの入力値までは取得できない。 入力値まで必要なら、 AjaxFormComponentUpdatingBehavior を使う。 DropDownChoice など…

ListView で AjaxSelfUpdatingTimerBehavior

定期的に表示更新するリストを作ろうと思って、 AjaxSelfUpdatingTimerBehavior を直接 ListView に付与してしまうと、以下のエラーになる。 This component is a repeater and cannot be repainted via ajax directly. Instead add its parent or another m…

checkbox のある ListView

チェックBOXが存在するリストの表示&制御は、業務系Webの開発でよくあるもので、 案件の都度、相当量の JavaScript とサーバサイドを作らなくてはならなくあまり汎用的なモデルが存在しない。 とは言え、やはり少しでも使いそうなパターンはモデルとして…

JSON を Wicket1.5 から出力

JSON データを Wikcet で出力するサンプル Google の GSON で書いてみた。 コンテンツタイプを、application/json と指定することになるようだ。 import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.request.handler.resource.Resou…