Это потому, что JSTL предполагает, что вы используете стандарты JavaBean, поэтому, когда вы вызываете что-то drug.NonAuthoritative
в выражении JSTL, он ищет метод с именем getNonAuthoritative()
(или, альтернативно, isNonAuthoritative()
).Скриплет не делает такого предположения, он просто оценивает то, что вы ему даете.