Java EE5 から trim-directive-whitespaces とか trimDirectiveWhitespacesが追加された。
てっきり余計な空白を除去してくれるのかと思っていたが、JSPの<%@ %>とかのディレクティブ行が削除されるだけのようだ。
これでデザインが崩れなくてすむと思っていたがそうではないらしい。

HTMLは1つ目の空白はデザインに反映されるという厄介な仕様のため
コードの見易さの為に空白を入れるとデザインがちょっとずれてしまう。
タブで代用すれば一応大丈夫だが一文字開けたいだけなのにタブを使うのもやだし、
タブが禁止されてる時もある。
大抵その程度のレイアウト変更は許容される事が多いが、
デザインが先にばっちり確定してしまっている場合みんなどうしてるんだろう。

あと携帯用とかだと1バイトでも少なくしたいので、余計な空白とか改行を削除できたら便利。


期待していただけにどうしてもやってみたくて、空白を除去するフィルターを作ってみた。
一応出来ることは出来るみたいだ。


使い方は
ここから

jarをダウンロードして WEB-INF/lib に入れてweb.xmlに設定するだけ。

web.xmlの例:


サーバもクライアントもUTF-8でしか試していません。
しかしServletOutputStreamがインターフェースじゃないのはなんでなんだろう。