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

ついでにこっちも。矢野さんのサイトで細かく紹介しているから不要なエントリーともいう。
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にマルチバイト対応してないよ、と記述しておけばいいレベルなのかなあと思わなくもない。