Eclipse: JSP Syntax Validation Probleme
Java November 6th, 2008Eclipse 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.
Januar 29th, 2009 at 10:14
Hallo,
hatte ebenfalls oben beschriebenes Problem. Das lustige war, in einem fast identischen Projekt mit exakt der gleichen Datei wurde der Fehler nicht angezeigt. Total seltsam.
Nach einem Update von WTP wird jetzt korrekt validiert.
Vielen Dank für den Lösungsweg.
Gruß Maxim