wicketでajax
前回のエントリではインターネッツで意見を言うときはdisりぎみに書くと間違ったときにちゃんと教えてもらえるというどっかのエントリを元に糞ajax機能が!と書いたらコメントやブクマコメでPropertyModelを使えばもっと楽につかえんだよ!!というご指摘をいただいたので(しかもなんとあのwicket本を書いてる矢野さんまで・・・!)
書き直してみた
今回は結構スマートに書けてる・・・かな?
今回はHTMLの部分は省略(というより前回と変わっていないので)
TestWebPage.java
public class TestWebPage extends WebPage { private String changeText; public TestWebPage(){ final Form form = new Form("form"); final TextField field = new TextField("text", new Model()); field.setOutputMarkupId(true); form.add(field); final Label label = new Label("change",new PropertyModel(this, "changeText")); label.setOutputMarkupId(true); form.add(label); AjaxButton ajaxButton = new AjaxButton("ajaxButton") { @Override protected void onSubmit(AjaxRequestTarget target, Form form) { label.setModelObject(field.getValue()); target.addComponent(label); } }; form.add(ajaxButton); add(form); } }
確かにPropertyModelを使ってオブジェクトの書き換えをするだけで簡単にajaxなボタンを実装できました。
あんまwicket詳しくない(というかほとんど知らない)ので前回のような指摘をしていただくと大変勉強になります!ありがとうございました。