Ответ 1
Игнорируйте его. Eclipse - это рывок. Вы можете настроить его, установив "Окно" > "Установки" > "Веб" > "Инструменты JavaServer" > "Проверка" > "Задачи назначения типов" > "Невозможность распознавания выражений метода" в "Предупреждение" или "Игнорировать" (по умолчанию это ошибка).
Изображение, заимствованное из этого блога во всей любезности.
Причина в том, что Eclipse ожидает, что атрибут action
всегда будет возвращать String
, а не void
. Несмотря на то, что атрибут JSF action
действительно не определен, сами формулы EL-метода также поддерживают методы void
. В свою очередь, чрезмерное сообщение говорит о том, что основная логика, ответственная за эту проверку, неспособна определить индивидуальные аргументы метода и, таким образом, пытается сравнить сигнатуру необработанного метода с коллекцией разрешенных подписей, которые в конечном итоге отображаются в сообщении, если совпадение не было найденный. На основе сообщения эта проблема также может исчезнуть, когда метод имеет 20 или более аргументов;)
Это исправлено в Eclipse Luna SR1, почти через 6 лет после сообщения о проблеме. Степень серьезности уменьшена с "Ошибка до предупреждения". Вы все еще можете поставить его ниже, чтобы игнорировать.