Мой файл 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}"/>");

И ни первое, ни второе не сработали. Почему?

0
Rolf 5 Окт 2018 в 17:07

1 ответ

Лучший ответ

Вот один способ - увидеть, что у вас уже есть данные на странице

<td class="description hide" id="${doc.id}"><c:out value="${doc.description}"/></td>

Где

.hide - это {display: none}

А потом

$("#${doc.id}").show();
0
mplungjan 5 Окт 2018 в 14:37