Wicketで外部ライブラリ(JDOM)を使用したXML出力方法

DynamicWebResource継承してウダウダ書きながら
「さすがにココまでやらなくてもよくね?」
と思ってググったら良さそうな記事発見。
Wicket FeedPage(WicketでRSSフィード作成)


JDOMで書き換えてみるとこうなった。
…ってRSSライブラリにJDOMベースのROMEが使われてるから、ほとんど書き換えなくてよし。
注1)マークアップ用にダミーでXmlPage.xmlを作成する必要有り。
注2)ローカル環境によっては出力時に文字コード指定しなきゃ化ける。

public class XmlPage extends WebPage {
  
  public XmlPage(){
  }
  
  @Override
  public String getMarkupType() {
    return "xml";
  }
  
  @Override
  protected final void onRender(MarkupStream markupStream) {
    PrintWriter writer = new PrintWriter(
        this.getResponse().getOutputStream()
    );
    
    XMLOutputter outputter = new XMLOutputter();
    
    try {
      outputter.output(JDOM_DOCUMENT, writer);
      
    } catch (IOException e) {
      throw new RuntimeException("XML出力に失敗しました", e); 
    }
  }
  
}