playframework2のHTML出力が汚すぎるのでJsoupで整形してみた
最近、playframework2に手を出し始めました。
このフレームワーク、フォームヘルパーが結構色々HTMLを生成してくれるみたいで、まだ慣れてないせいもあって結構頻繁に生成されたHTMLの中身を見ています。
で、テンプレートエンジンの例に漏れず、出力されるHTMLが超絶汚い...
こんな感じのテンプレートが
こんな感じのHTMLに出力されます。
見辛すぎるよ!!
for文とかテンプレートのインクルードでぐちゃっとなるんですよね。
ということで、こちらの記事を参考にjsoupで整形してみました。
scalaの標準機能だけでできるかとも最初思ってたんですが、生成されたHTMLがXHTMLではなかったので無理でした><
jsoupで変換後はこんな感じに!
かなり見やすくなりましたね。下記のようなコードで対応しています。
本当はフィルタとかのレイヤで対応した方がいいと思うんですが、Playのフィルタがどういう動きをするのかを、まだ理解してないので、一旦こんな感じに。
当然パフォーマンスは落ちるので、場合によってはプロダクション時はオフにするとかのオプションも考慮が必要かもです。
まあ、少なくとも開発中はこれで幸せになれそうかな。
それでは、Happy Hcking!
参考: