У меня был небольшой сюрприз в веб-приложении, где я использую 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 (и мне потребовалось некоторое время, чтобы заметить это) при генерации метода получения сгенерировал метод с именем:
isDynamic()
вместо:
getIsDynamic()
Как только я вручную заменил isDynamic () на getIsDynamic () все работало нормально.
Итак, у меня действительно два вопроса:
плохо ли начинать имя логического свойства с "is"?
плохо это или нет, не IntelliJ допустил ошибку здесь, автоматически генерируя метод с именем isDynamic вместо getIsDynamic ?