Wicket

バイト配列をインラインでダウンロードしたい

自分が必要だったのがJPEG画像だったので、DynamicImageResourceとかが気になってちょっと迷走した。 忘れないようにメモ。 add(new Link<Void>("downloadButton"){ @Override public void onClick() { byte[] byteArray = /* データ生成 */ ByteArrayResource res</void>…

Selectでoptgroupで動的で

プルダウンでoptgroupが使いたい場合、DropDownChoiceは使えないわけで、 org.apache.wicket.extensions.markup.html.form.select パッケージのクラス群を使えとなっているのだけど、サンプルを見てもコードを見てもプルダウンの内容が動的に変わる場合、キ…

1.4 rc1

でてるみたい。ぱっと気づいたのは、 WICKET-1704 ResourceStreamRequestTarget.configure set wrong ContentLength for non-ascii characters実際にはAbstractStringResourceStreamがCharset見るようになって、lengthメソッドがfinalになってる。ので、前書…

ログアウト||セッションタイムアウト時に処理したい

どっかにオーバーライドする場所あるかねえとかWebSessionとかのソースたどり始めて、ふと思う。 これで動くんじゃね? public class TestSession extends WebSession implements HttpSessionBindingListener { private static final long serialVersionUID …

AbstractChoiceでnullを選択肢としてつかう

まあ、そんな設計まずいかんだろという話はおいといて。 RadioChoice<Boolean> choices = new RadioChoice<Boolean>("wicket:id",Arrays.asList(null,true,false)); choices.setChoiceRenderer(new IChoiceRenderer<Boolean>(){ private static final long serialVersionUID = 1L; @Over</boolean></boolean></boolean>…

ファイルダウンロード テキストファイルの場合

ついでにこっちも。矢野さんのサイトで細かく紹介しているから不要なエントリーともいう。 http://www.javelindev.jp/wicket/doc/tutorial02#i7同じじゃ芸がないからちょっとちがう所をオーバーライド。まあやってることは同じなんだけれど。 StringBufferRe…

ファイルダウンロード OutputStreamに直接書き出したい場合

まあ調べればすぐわかるんだけれども、日本語の情報はなかったようなので。 業務で必要になった、POIで処理したExcelをダウンロードするボタン。 例外処理とかてけとー。 //請求書ダウンロードボタン Button<Void> downloadButton = new Button<Void>("downloadButton"){</void></void>…

Integerを頭ゼロ埋めで表示するラベルを作る

public class CodeLabel extends Label<Integer> { private static final long serialVersionUID = 1L; private int zeroPadLength; public CodeLabel(String id, int zeroPadLength) { super(id); this.zeroPadLength = zeroPadLength; } @Override @SuppressWarning</integer>…

Formの継承クラスを作成せずにエラーメッセージを変える

結局つかわなかったのだけれど、調べたので。 Form<UserBean> userForm = new Form<UserBean>("userForm"){ private static final long serialVersionUID = 1L; @Override public String getValidatorKeyPrefix() { return "ユーザー"; } }; TextField<String> userId = new TextField<String>("i</string></string></userbean></userbean>…

Wicket自分用メモ

出力結果からwicket:idを消す getMarkupSettings().setStripWicketTags(true); ログアウト add(new Link("logout"){ public void onClick(){ getSession().invalidate(); setResponsePage(getApplication().getHomePage()); } }); HTMLのアトリビュート値書…