JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
■応用の森 Thymeleafで、HTMLのリンクURLパラメータを指定する場合の注意点
HTMLに次のような<a>タグリンク要素があります。
<a href="http://arimodoki.dip.jp/test.xhtml?form=search&lang=ja">テストリンク</a>

普通のHTMLかJSPであれば、このコードは何の問題もなく正常に動作しますが、
Thymeleafを通して、このコードを実行するとサーバー側のログに以下のようなエラーが出力されます。

ERROR - [THYMELEAF][ajp-nio-8009-exec-41] Fatal error during parsing
org.xml.sax.SAXParseException: エンティティ"lang"への参照は';'デリミタで終了する必要があります。


何が悪いかというと、上のリンクのGETパラメータlangの前にある、&
がダメだよ!とThymeleafに怒られています。
この場合、Thymeleafのご機嫌をとるためには、&をエスケープして

<a href="http://arimodoki.dip.jp/test.xhtml?form=search&amp;lang=ja">テストリンク</a>

と、しなければいけません。