| 著作一覧 |
開発したフィルターを通すと特定のパターンのタグの属性が閉じられないという問題が出る。
たとえば、<option value='>blabla</option> みたいな感じ。
属性が閉じられないって、非常にまずい感じがするので当然、さっさと修正したいのだが、さっぱりわからん。
だが、状況証拠から、問題なさそうなソースにまさに問題があることがわかった。
次のプログラムの出力を考えてみよう。
import java.text.*;
public class MF {
public static void main(String[] args) throws Exception {
System.out.println("hello '' !");
System.out.println(MessageFormat.format("{0} '' !", "hello"));
}
}
MessageFormatにそういう処理が含まれるとはまったく気づいていなかった(と書いたところでJavadoc読んだら思いだした。{0}とかを文字列内に含めるためにクォートするのに利用できるからだった)。
というわけで次の出力となる。
$ java -cp . MF hello '' ! hello ' !
ジェズイットを見習え |