Первая двойная кавычка внутри значения слишком рано ломает значение.Вы должны использовать одинарные кавычки только для обозначения строк в EL, а не двойные кавычки.Вы должны использовать двойные кавычки только для обозначения значений атрибутов HTML.
<button id="add" <c:out value="${empty var ? 'disabled="disabled"' : ''}"/>>
(пожалуйста, не обращайте внимания на подсветку синтаксиса кода Stackoverflow, он не распознает правильно taglibs / EL, вышезаконно действителен)
Или, когда вы используете JSP 2.0 или новее, вы можете даже просто оставить это значение c:out
, пока не существует риска для XSS (что здесь не так, посколькувы печатаете контролируемое сервером значение).
<button id="add" ${empty var ? 'disabled="disabled"' : ''}>