Play Frameworkが出力するHTMLをJSoupで整形する
前回の記事の続き。
Play Frameworkが出力するHTMLをいったんJSoupに食わせて、その結果を出力するようにしました。
まずHTMLを整形するメソッドが以下。
public static Html tidyUp(Html html) { Document document = Jsoup.parse(html.toString()); return new Html(document.toString()); }
HTMLを受け取って一度String型に変換し、JSoupでパースした結果を再度Html型にして戻しています。
あとはこのメソッドを以下のように用います。
public static Result tasks() { return ok( tidyUp(views.html.index.render()) ); }
これで、余計なインデントや改行のない見やすいHTMLが出力されるようになります。
まあ、はっきりいって動作上無駄でしかないですし、実際のところこの処理によってサービスのレスポンスは悪くなります。ただHTMLが見やすくなることのメリットもあるので、使うかどうかはケースバイケースですね。