Eclipse Ganymede неправильно проверяет JSP
-
02-07-2019 - |
Вопрос
Я только что установил Ganymede и изучаю в нем старый проект.Все мои JSP выдают мне странные ошибки проверки.Я вижу такие вещи, как -
Syntax error on token "}", delete this token
Syntax error on token "catch", Identifier expected
Syntax error, insert "Finally" to complete TryStatement
Я здесь использую лучшие практики, никаких сценариев или чего-то еще, поэтому я думаю, что Eclipse неправильно применяет средство проверки класса Java к моим JSP.Есть какие-нибудь идеи о том, как этого не допустить?
В разделе Параметры / Редакторы / Ассоциации файлов у меня есть следующее для JSP:
JSP Editor (default)
Web Page Editor
Text Editor
CSS JSP Editor
Я что-то упускаю?
Также я думаю, что это правильно, но на всякий случай, если это не так, вот моя директива page -
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
Решение
Я только что скачал Ganymede 3.4.2 и добавил к нему WTP 3.0.4, и эта ошибка исчезла для меня.
Другие советы
Я действительно узнал, в чем заключалась моя проблема, благодаря группа пользователей eclipse webtools.Проблемой для меня было использование библиотеки пользовательских тегов Spring form.Если вы самостоятельно закроете тег...
<form:errors path="*" />
... затем вы получаете глупую ошибку проверки JSP.Если вы закроете тег так, как если бы там было основное содержимое...
<form:errors path="*"></form:errors>
Затем ошибка исчезнет.Мне нужно доработать ошибку для команды "Ганимед".
На самом деле это не связано с самим редактором.
Обычно это происходит из-за
A) пользовательские теги, в которых отсутствует начальный или конечный тег, приводят к дисбалансу в переводе
или
B) является результатом неправильной обработки скриптовой переменной для пользовательских тегов валидатором JSP.
Одна из них - ошибка в файле JSP, а другая - ошибка валидатора.Ни то, ни другое не вызовет этой проблемы в предстоящих версиях WTP 3.0.3 и Ganymede SR2.
Я только что запустил обновление для обновлений программного обеспечения-> Сайт обновления Gynemede-> "Разработка Web и Java EE", и ошибка, похоже, исчезла.
В разделе настройки -> редакторы -> ассоциации файлов вы можете увидеть, какие редакторы связаны с файлами .jsp.Возможно, это было связано с неправильным редактором и проверкой контента.Вы можете найти достаточно хороший редактор JSP в наборе инструментов Web Tools Platform (WTP).
У меня такая же проблема.Какой бы редактор JSP ни был в Ganymede, ему не нравятся мои скриплеты if / else:
<% if(message != null) { %>
<p id="message"><%=message %></p>
<% } else { %>
<p>Please login to view your account information.</p>
<% } %>
Это говорит мне:
Syntax error on token "}", delete this token
Syntax error on token "catch", Identifier expected
Syntax error, insert "Finally" to complete TryStatement
...на последней закрывающей скобке.У меня те же ассоциации файлов, что и у оригинального плаката.Полагаю, я попытаюсь найти другой редактор JSP в WTP toolkit, но у меня сложилось впечатление, что он прилагался к моей сборке.
К сожалению, это известная ошибка, по-видимому, представленная в сервисной версии 1 Ganymede (Eclipse Ganymede SR1, версия 3.4.1).
Смотрите следующие страницы для получения дополнительной информации:
http://www.coderanch.com/t/106846/IDEs-Version-Control-other-tools/Ganymede-bug-using-jsp-include
http://www.eclipse.org/newsportal/article.php?id=17447&group=eclipse.webtools#17447
Ошибка исправлена в WTP 3.0.3.Обратите внимание, что для получения исправления с помощью функции Eclipse "Обновления программного обеспечения" вам необходимо вручную добавить сайт обновления WTP в список сайтов, поиск по которым выполняется во время обновлений, с помощью функции "Maage Sites ..." и проверить сайт Eclipse Webtools.
Хм, я обновился до версии 3.0.3, но безрезультатно.Это происходит в основном для <%@ включить файл="somefile.jsp" %> -стиль включает в себя.Невероятно расстраивает - очень сложно найти реальные ошибки, когда у меня их более 300.Кому-нибудь удалось вернуться к более ранней версии WTP?