Когда динамическая строка может быть помещена в строковый литерал JavaScript, она должна быть экранирована JS.Так же, как когда динамическая строка помещается внутри HTML-страницы, она экранируется от HTML.
Используйте commons-lang StringEscapeUtils.escapeECMAScript
(или escapeJavaScript
в зависимости от версии), чтобы экранировать строку.Вы можете создать очень простую функцию EL, чтобы сделать это прямо из JSP.
Обратите внимание, что у вас могут быть проблемы с одинарными кавычками, а также с двойными кавычками, тегами, EOL, обратной косой чертой, которые должны быть экранированы в литерале JS String.