У меня просто был небольшой сюрприз в Webapp, где я использую EL на страницах .jsp.
Я добавил логическое свойство и поцарапал голову, потому что я назвал логический "isDynamic", поэтому я мог бы написать это:
<c:if test="${page.isDynamic}">
...
</c:if>
Что мне легче читать, чем:
<c:if test="${page.dynamic}">
...
</c:if>
Однако .jsp не удалось скомпилировать с ошибкой:
javax.el.PropertyNotFoundException: Property 'isDynamic' not found on type com...
Я получаю свою IDE (и мне потребовалось некоторое время, чтобы заметить это), при генерации getter генерировал метод, называемый:
isDynamic()
вместо:
getIsDynamic()
Как только я вручную заменил isDynamic() на getIsDynamic(), все было нормально.
Итак, у меня есть два вопроса:
-
Неправильно ли начинать логическое имя свойства с помощью "is"?
-
Если это плохо или нет, не ошибся ли IntelliJ здесь, автогенерируя метод isDynamic вместо getIsDynamic?