ファイルダウンロード テキストファイルの場合
ついでにこっちも。矢野さんのサイトで細かく紹介しているから不要なエントリーともいう。
http://www.javelindev.jp/wicket/doc/tutorial02#i7
同じじゃ芸がないからちょっとちがう所をオーバーライド。まあやってることは同じなんだけれど。
StringBufferResourceStream stream = new StringBufferResourceStream("application/octet-stream"){ private static final long serialVersionUID = 1L; @Override public long length() { return asString().getBytes(getCharset()).length; } }; stream.setCharset(Charset.forName("Windows-31J")); stream.append(...);//文字列書き出しする IRequestTarget target = new ResourceStreamRequestTarget(stream,"text.xls"); getRequestCycle().setRequestTarget(target );
1.4m2でもStringBufferResourceStreamはマルチバイト対応はしていませんでした。
まあバグといえばバグなんだろうけど、JavaDocにマルチバイト対応してないよ、と記述しておけばいいレベルなのかなあと思わなくもない。