Я хочу использовать модель для установки переменных в моем коде JavaScript. Я видел такие вопросы, как this , но они работают только с динамическим встроенным JavaScript . У меня есть код JavaScript в статическом файле (/static/js/myscript.js
), но я все еще хочу использовать модель в нем.
Я бы хотел написать код JavaScript, который выглядит следующим образом:
removePerson(model.name, model.sex);
вместо этого (для встроенного JavaScript):
removePerson([[${name}]], [[${sex}]]);
Тогда мой заголовок на каждой странице будет выглядеть так:
<!-- Pass the model to the static JavaScript code -->
<script data-th-inline="javascript">var model = [[#model.toJSON()]]</script>
<script data-th-src="@{/static/js/myscript.js}"></script>
но, конечно, #model.toJSON()
не существует. Есть ли встроенная функция для получения всей Модели и преобразования ее в JSON, чтобы я мог получить к ней доступ из статического кода JavaScript? Сгенерированный код должен выглядеть следующим образом:
<!-- Pass the model to the static JavaScript code -->
<script data-th-inline="javascript">var model = {"name": "peter", "sex": "m"}</script>
<script data-th-src="@{/static/js/myscript.js}"></script>
<Ч />
Контроллер
@GetMapping("/test")
public String testGet(Model model)
{
model.addAttribute("name", "peter");
model.addAttribute("sex", "m");
return "test";
}