#javascript #java #json #spring-boot #thymeleaf
#javascript #java #json #весенняя загрузка #thymeleaf
Вопрос:
Я пишу приложение, в котором мне нужно отправить некоторые данные из контроллера загрузки Spring в шаблон с помощью Thymeleaf.
У меня не было проблем, пока я не захотел отправить какой-нибудь JSON.
Двойной запрос( "
) изменен на amp;quot;
.
Из-за этого я получаю сообщение об ошибке.
Контроллер:
@GetMapping("/statistics")
public String viewStatistics(Model model) {
JSONArray jsonArray = statisticsService.getTaskNamePercentageMap();
System.out.println(jsonArray);
model.addAttribute("taskNamePercentageMap", jsonArray);
return "statistics/main";
}
Вывод System.out.println(JSONArray):
[{"low":33,"name":"Tenis"},{"low":100,"name":"Rugby"}]
Код JavaScript в статистике / главном шаблоне:
$(document).ready(function () {
var json =[[${taskNamePercentageMap}]];
/*... TO BE CONTINUED ...*/
});
Переменная «a» в источниках вкладки разработчика Chrome:
var b = JSON.stringify([{amp;quot;lowamp;quot;:33,amp;quot;nameamp;quot;:amp;quot;Tenisamp;quot;},{amp;quot;lowamp;quot;:100,amp;quot;nameamp;quot;:amp;quot;Rugbyamp;quot;}]);
Может кто-нибудь сказать мне, в чем проблема и как ее исправить?
Комментарии:
1. Взгляните на документацию в разделе
8.3
Ответ №1:
Попробуйте это
var json = [(${taskNamePercentageMap})];
Обратите внимание, что, хотя [[…]] соответствует th:text (т. Е. результат будет экранирован в HTML), [(…)] соответствует th: utext и не будет выполнять никакого экранирования HTML.