Eclipse Ganymede kommt mit der aktuellen WTP Version 3.0.x – dazu gehört im Eclipse auch ein JSP Syntax Validator, der helfen soll, korrektes JSP zu schreiben.

Bei der Entwicklung einer Spring basierten Anwendung jedoch hat sich Eclipse als besonders zickig problematisch dargestellt: Es hagelt JSP Syntax Fehler, obwohl – eigentlich – alles in Ordnung ist. Auch beim Deployment der Webanwendung gibt es keine Probleme – nur Eclipse motzt. Das ganze sieht dann z.B. so aus:

- Syntax error on token "}", delete this token
- Syntax error on token "catch", Identifier expected
- Syntax error, insert "Finally" to complete TryStatement

Und natürlich in Zeile „0“ – sehr hilfreich. Auch die angeprangerten Statements sind nirgends zu sehen. Erste Vermutung: Eclipse Webtools JSP Validator hat Probleme mit Taglibs. Hätte längst jemand gemerkt, denke ich mir. Also kann das schonmal nicht ursächlich sein.

Nach einer Weile (ich verrate mal lieber nicht welchen Umfang „Weile“ hier hatte) konnte ich das Spring form:errors Tag identifizieren, hier hatte ich die xml short-closing Notatoin für leere TAgs verwendet. Offenbar unerwünschtes Verhalten.
Ersetzt man nämlich

<form:errors path="*" />

durch

<form:errors path="*" ></form:errors>

Verschwinden die JSP Validierungsfehler auf magische Weise. In meinen Augen ein absolut nerviger Bug, der wenigstens ausreichend dokumentiert gehört.

Ich hoffe, dass das Problem mit der nächsten Eclipse WTP Version behoben ist – ich denke nicht, dass die Spring Taglibs in irgendeinerweise dafür verantwortlich sein könnten.

Update:

Tatsächlich habe ich den entsprechenden Bug im Eclipse Bugtracker gefunden. Das Problem dürfte mit WTP 3.0.3 behoben sein – es handelt sich also in der Tat um ein reines Eclipse Problem.