Передача массива во внешний Javascript с помощью Thymeleaf - PullRequest
0 голосов
/ 09 июля 2020

Контроллер имеет следующее определение:

@Controller
public class GreetingController {
    @GetMapping("/index")
    public String greeting(@RequestParam(name="name", required=false, defaultValue="World") String name, Map<String, Object> model) {
        String[] dataa = {"RTN", "YTN", "MTS", "RTS", "STS", "WTS"};
        System.out.println(name);
        model.put("message", "Hello world!");
        model.put("datta", dataa);
        return "index";
    }
}

Индекс. html имеет код, как показано ниже,

<script src="http://cdn.jsdelivr.net/webjars/jquery/2.1.4/jquery.min.js"></script>
    <script>
        var datass = /*[(${datta})]*/ [];
        var message = "[[${message}]]";
    </script>
    <script src="/js/script.js"></script>

Здесь я пытаюсь получить массив в скрипт. js файл, я не могу получить массив. Но в th: каждый в шаблоне данные отображаются правильно. Итак, мне что-то не хватает при передаче данных в файл js. Любые предложения.

1 Ответ

1 голос
/ 09 июля 2020

Для использования тимелеафа с кодом javascript вам необходимо использовать

th: inline = "javascript"

Таким образом, правильный способ будет вот так -

<script th:inline="javascript">
    // your code
     var message = "[[${message}]]";

</script>

Посмотрите на этот пример, это то, что вы ищете - https://attacomsian.com/blog/thymeleaf-set-javascript-variable#

...