Мой файл JSP содержит таблицу со следующей строкой:
<td class = "description" id = "${doc.id}"></td>
Я хочу, чтобы сначала он был пустым, как указано выше. Позже, после загрузки страницы и обработки некоторой логики, я хочу асинхронно заполнить ее контентом с помощью метода JQuery .html:
$("#${doc.id}").html("${doc.description}");
Для обычного пользовательского ввода все работает нормально, но возникает ошибка, когда пользователь вводит специальный символ: "
Как я могу запретить приложению считывать этот символ как специальный, и чтобы приложение работало правильно?
Я пробовал использовать такие escape-функции JSP:
$("#${doc.id}").html("${fn:escapeXml(doc.description)}");
И это:
$("#${doc.id}").html("<c:out value = "${doc.description}"/>");
И ни первое, ни второе не сработали. Почему?
$("#${doc.id}").html("<c:out value = "${doc.description}"/>"); не имеет никакого смысла. Если вы уже знаете данные, поместите их в скрытый div и покажите / скройте / скопируйте div



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вот один способ - увидеть, что у вас уже есть данные на странице
<td class = "description hide" id = "${doc.id}"><c:out value = "${doc.description}"/></td>
куда
.hide - это {display: none}
а потом
$("#${doc.id}").show();
Похоже, это то, что мне нужно. Спасибо!
Поразмыслив, я понял, что это не то, что я искал. Причина в безопасности - если метод скрытия находится на стороне клиента, каждый может перейти к инспектору в браузере и удалить этот атрибут {display: none}.
И почему это может внезапно стать проблемой - вы в конечном итоге показываете данные на странице? Если вы успешно добавите его в переменную JS, они смогут просто просмотреть исходный код и прочитать описание в JavaScript, а не на странице.
Для пользователя с некоторыми привилегиями я хочу показать это, а для всех остальных - нет. Как я понял - если результаты есть только в файле JSP, а я не вызываю его на бэк-энде, его невозможно просмотреть?
Если он не отправлен клиенту, он не отображается на клиенте. Это правильно
Вы можете JSON закодировать его на сервере